报名本机构合作学校,赠送复习资料,复习课程,确保录取。并且可以申请学校奖学金500元~1500元不等!
绪论
1、【单选题】以下说法正确的是( )
A、C语言程序总是从第一个的函数开始执行
B、在C语言程序中,要调用函数必须在main()函数中定义
C、C语言程序总是从main()函数开始执行
D、C语言程序中的main()函数必须放在程序的开始部分
2、【单选题】一个C程序可以包含任意多个不同名的函数,但有且仅有一个( ).一个C程序总是从此开始执行。
A、过程
B、主函数
C、函数
D、include
3、【单选题】C语言规定,在一个源程序中,main函数的位置( )
A、必须在最开始
B、必须在系统调用的库函数的后面
C、 可以任意
D、 必须在最后
4、【单选题】在C语言中,每个语句和数据定义是用( )结束。
A、句号
B、逗号
C、分号
D、括号
5、【单选题】下列叙述中错误的是( )
A、C语言是一种结构化程序设计语言
B、结构化程序由顺序、分支、循环3种基本结构组成
C、使用3种基本结构构成的程序只能解决简单问题
D、结构化程序设计提倡模块化的设计方法
6、【单选题】关于C程序的叙述正确的是( )
A、从//开始的程序都是注释
B、/* */只能写在一行,其中的内容为注释
C、一条语句可以写成多行,多条语句也可以写在一行
D、一行只能写一条语句
7、【单选题】( )是C程序的基本构成单位。
A、函数
B、函数和过程
C、文本
D、语句
8、【单选题】在C语言中,一个语句( )为结束标志。
A、句号
B、逗号
C、分号
D、括号
变量与常量
1、【单选题】下列标识符中,不合法的用户标识符为( )
A、month
B、_5xy
C、int
D、your_name
运算符
1、【填空题】若a, b均为int类型变量,则执行以下程序段后的输出是:___________x=15; y=5; printf(%d\n,x%=(y%2));
A、
逻辑运算符
1、【填空题】设i, j, k是int类型变量,且i=3, j=4, k=5,则表达式 i j运算结果是_______, !((ij)!k||1) 运算结果是________
A、
数据类型1
1、【单选题】下列选项中,合法的一组C语言数值常量是( )
A、028 5e- 3.0xf
B、12.0xa23 4.5e0
C、177 4el.5 0abc
D、0x8A 10,000 3.e
2、【单选题】在C语言中,下列类型属于基本类型的是( )
A、整型、实型、字符型
B、空类型、枚举型
C、结构体类型、实型
D、数组类型、实型
3、【单选题】下列字符串不属于标识符的是( )
A、_above
B、
C、 dfg
D、_cnd
E、all
4、【单选题】10+'a'+ 1.5-567.345/'b’的结果是( )型数据。
A、long
B、double
C、int
D、unsigned float
5、【单选题】C语言中,运算对象必须是整型数的运算符是( )
A、%
B、\
C、%和\
D、* *
6、【单选题】若num、a、b、c都是int变量,则执行表达式 num=(a=4,b=16,c=32)后num的值是( )
A、4
B、16
C、32
D、0
7、【单选题】判断char型变量c1是否为大写字母的正确表达式是( )。
A、'A'<=c1<='Z'
B、(c1>='A')&(c1<='Z')
C、(c1>='A')&&(c1<='Z')
D、('A'<=c1)AND('Z'>=c1)
8、【单选题】若希望当num的值为奇数时,表达式的值为“真”,num的值为偶数时,表达式的值为“假”,则以下不能满足要求的表达式是( )。
A、num%2==1
B、!(num%2==0)
C、!(num%2)
D、num%2
9、【单选题】( )是C语言提供的合法的数据类型关键字。
A、Boolean
B、signed
C、integer
D、Char
10、【单选题】不正确的字符串常量是( )。
A、'abc'
B、"12'12"
C、"\0"
D、" "
11、【填空题】在C语言中,程序运行期间,其值不能被改变的量叫__ ____
A、
12、【填空题】在C语言中,用来标识变量名、符号变量名,函数名,数组名,类型名,文件名的有效字符序列称为__ ____
A、
13、【填空题】若有说明语句:char ch1='\065',则ch1中包含字符个数_______
A、
14、【填空题】在C语言中,char型数据在内存中的存储形式是_________
A、
15、【填空题】逻辑运算符的运算对象的数据类型__________
A、
C语言的输入和输出
1、【填空题】程序如下,下叙述中正确的是______。#includestdio.hint main(){ char a1='M', a2='m'; printf(%c\n,(a1, a2)); }
A、
2、【填空题】以下程序运行后输出的结果是________。#includestdio.hint main(){ int a,b,d=25; a=d/10%9; b=a+-1; printf(%d,%d\n,a,b);}
A、
数据的输入输出
1、【单选题】下列程序打印输出C Language Programming#includestdio.hint main(){printf(C Language Programming\n);return 0;}程序的运行结果是:
A、程序编译出错
B、"C Language Programming\n"
C、C, Language, Programming
D、C Language Programming
2、【单选题】要输出结果4*4=16,下列语句不正确的是( )
A、printf("4*4=16\n");
B、printf("4*4=%d",16);
C、printf("4*4=%d",4*4);
D、printf("4*4=%d,16");
3、【单选题】已知在ASCH 字符集中、数字0的字号为48,下面程序的输出结果为( )。#include stdio.hint main( ){ char x, y; x='0'; y='9'; printf(%d,%d\n,x,y);}
A、因输出格式不合法,输出错误信息
B、48,57
C、0,9
D、48.58
4、【单选题】以下程序的运行结果是( )#include stdio.hint main( ){ int c,x,y; x= l; y= 1; c= 0; c=x++||y++; printf(\n%d%d%d\n,x,y,c);}
A、110
B、211
C、011
D、001
5、【单选题】以下程序的功能是:给r输入数据后计算半径为r的圆面积s。程序在编译时出错,出错的原因是( )。#include stdio.hint main() { int r; float s; scanf(%d,r); s= *p*r*r; printf(s=%f\n,s); }
A、注释语句书写位置错误
B、存放圆半径的变量r不应该定义为整型
C、s=*p*r*r;语句中使用了非法的表达式
D、输出语句中格式描述符非法
if语句
1、【填空题】以下程序的输出结果是:________#include stdio.hint main(){ float x=2.0,y; if(x0.0)y=0.0; else if (x10.0)y=1.0/x; else y= 1.0; printf(%f\n, y);}
A、
if的分支结构
1、【填空题】若从键盘输入58,则以下程序输出的结果是__________#includestdio.hint main(){int a;scanf(%d,a);if(a50)printf(%d,a);if(a40)printf(%d,a);if(a30)printf(%d,a);}
A、
2、【填空题】以下程序输出:_____#includestdio.hint main(){int x1=3, x2=0, x3=0;if( x1 = x2+x3) printf(*****);elseprintf(#####);}
A、
switch语句
1、【单选题】假定等级和分数有以下对应关系:等级:A 分数:85~100 等级:B 分数:60~84 等级:C 分数:60 以下对于等级grade输出相应的分数区间,能够完成该功能的程序段是_____.
A、switch (grade) { case 'A':printf("85--100\n"); case 'B':printf("60--84\n"); case 'C':printf("60以下\n"); default:printf("等级错误!\n"); }
B、 switch (grade) { case 'A':printf("85--100\n");break; case 'B':printf("60--84\n"); case 'C':printf("60以下\n"); default:printf(" 等级错误!\n"); }
C、switch (grade) { case 'A':printf("85--100\n");break; case 'B':printf("60--84\n");break; case 'C':printf("60以下\n"); default:printf("等级错误!\n"); }
D、switch (grade) { case 'A':printf("85--100\n");break; case 'B':printf("60--84\n");break; case 'C':printf("60以下 \n");break; default:printf("等级错误!\n"); }
2、【填空题】在执行下述程序时,若从键盘输入字母H,则输出结果是( )。#include stdio.hint main(){ char ch; ch=getchar(); switch(ch) { case 'H':printf(Hello! \n); case 'G':printf(Good morning! \n); }}
A、
选择结构作业
选择结构
1、【单选题】以下程序的输出结果是:( )#include stdio.hint main(){ float x=2.0,y; if(x0.0) y=0.0; else if (x10.0) y=1.0/x; else y= 1.0; printf(%f\n, y);}
A、0.500000
B、1.000000
C、0.000000
D、0.250000
2、【单选题】下列程序的输出结果是( )。 #includestdio.hint main(){ int a=5,b=4,c=3,d=2; if(abc) printf(%d\n,d); else if(c-1=d) printf(%d\n,d+1); else printf(%d\n,d+2); }
A、2
B、3
C、4
D、编译时有错且无结果
3、【单选题】以下程序运行时,若从键盘输入9,则输出结果是( )。#includestdio.hint main(){ int a=1; scanf(%d,a); if(a++9) printf(%d\n,a); else printf(%d\n,a);}
A、10
B、11
C、9
D、8
4、【单选题】请阅读以下程序:#includestdio.hint main(){ int a=5,b=0,c=1;if(a=b+c)printf(***\n);else printf($$$\n);} 以上程序( )
A、有语法错不能通过编译
B、可以通过编译但不能通过连接
C、输出***
D、输出$$$
5、【单选题】若int k=8;则执行下列程序后,变量k的正确结果是____ #includestdio.hint main(){ int k=8; switch(k) { case 9:k+=1; case 10:k+=1; case 11:k+=1;break; default:k+=1; } printf(%d\n,k);}
A、12
B、11
C、10
D、9
6、【单选题】现有如下程序段,此程序段编译有错误,则程序段的错误出在( )#includestdio.hint main(){ int a=30,b=40,c=50,d; d=a30 ? b:c; switch(d) { case a:printf(%d,,a); case b:printf(%d,,b); case c:printf(%d,,c); default:printf(#);}}
A、default:printf("
B、");这个语句
C、d=a>30?b:c;这个语句
D、case a:printf("%d,",a); case b:printf("%d,",b); case c:printf("%d,",c);这三个语句
E、switch(d)这个语句
7、【单选题】设变量x和y均已正确定义并赋值,则以下if语句中,在编译时将产生错误信息的是( )。
A、if(x++);
B、if(x>y&&y!=0) ;
C、if(x>0) x-- else y++;
D、if(y<0){ ; } else x++;
8、【单选题】设 int x=1, y=1; 表达式( !x || y--) 的值是 ( )
A、0
B、1
C、2
D、-1
9、【填空题】在C程序中,判逻辑值时,用“非0”表示逻辑值“真”, 又用“0”表示逻辑值“假”。 在求逻辑值时,用_____表示逻辑表达式值为“真”,又用_____表示逻辑表达式值为“假”。
A、
10、【填空题】执行以下程序段后,输出结果是______。#includestdio.hint main(){int a=3,b=5,c=7;if(ab) a=b;c=a;if(c!=a) c=b;printf(%d, %d, %d\n,a,b,c);}
A、
11、【填空题】若执行下述程序时,若从键盘输入6和8时,结果为_______ #includestdio.hint main(){ int a,b,s; scanf(%d%d,a,b); s=a; if (a = b) s*=s; printf(%d,s);}
A、
for语句
1、【填空题】执行语句 for(i=0; i10; i++) ; 结束后,i的值是__________
A、
2、【填空题】阅读以下程序,其运行结果是______。#include stdio.hint main(){ int i; for(i='a';i'f';i++,i++) printf(%c,i-'a'+'A'); printf(\n); return 0;}
A、
while语句
1、【填空题】阅读以下程序,输出结果是______。#includestdio.hint main() { int n=9; while(n6){ n--; printf(%d,n); } }
A、
do...while
1、【填空题】以下程序段的运行结果是______。#includestdio.hint main(){int i=0;do printf(%d,,i); while(i++); printf(%d\n,i);}
A、
循环嵌套
1、【填空题】读以下程序,printf会被执行几次?__________#includestdio.hint main() { int i,j; for(i=1;i4;i++) {for(j=i;j4;j++) printf(%d*%d=%d ,i,j,i*j); } }
A、
break和continue语句
1、【填空题】以下程序运行后的输出结果是_______。#includestdio.hint main() { int i,j,x=0;for(i=0;i2;i++) { for(j=0;j2;j++){ if(j%2) continue; x++; } x++; } printf(x=%d\n,x); }
A、
循环结构作业
循环结构
1、【单选题】以下程序运行后的输出结果是( )。#includestdio.hint main() { int y=10; while(y--) ;printf(y=%d\n,y); }
A、y=0
B、y=-1
C、y=1
D、while构成无限循环
2、【单选题】语句for(表达式1;;表达式3)等价于( )
A、for(表达式1;0;表达式3)
B、for(表达式1;1;表达式3)
C、for(表达式1;表达式1;表达式3)
D、for(表达式1;表达式3;表达式3)
3、【单选题】下列程序段中是死循环的是( )
A、int n=1; while(!n) n++;
B、int n=1; do{n--;} while(n);
C、int n=1; do{ n+1; } while(n)
D、for(n=5;n<1;) ;
4、【单选题】下面能正确计算1*2*3*•••*10的程序段是( )
A、do{ k=1;n=1;n=n*k;k++; }while(k<=10);
B、do{ k=1;n=0;n=n*k;k++; }while(k<=10);
C、k=1;n=1; do{ n=n*k;k++; }while(k<=10);
D、k=1;n=0; do{ n=n*k;k++; }while(k<=10);
5、【单选题】以下程序段描述正确的是( )for(m=1;m=100;m++) { scanf(%d,y); if(y0) continue; printf(%3d,m); }
A、当y<0时整个循环结束
B、y>=0时什么也不输出
C、printf函数永远也不执行
D、最多允许输出100个非负整数
6、【单选题】以下不会构成无限循环的语句或语句组是( )。
A、n=0; do{++n;}while(n<=0);
B、n=0; while(1){n++;}
C、n=10; while(n) ;{ n--; }
D、for(n=0,i=1; ;i++) n+=i;
7、【单选题】若y是整型变量,语句while(!y) 语句1; 若要执行语句1,则表达式 !y 成立等价于( )
A、y==0
B、y!=1
C、y!=0
D、y==1
8、【单选题】要求通过while循环不断读入字符,当读入字母N时结束循环。若变量已正确定义,以下正确的程序段是( )。
A、while((ch=getchar())!='N')printf("%c",ch);
B、while(ch=getchar()!='N ')printf("%c",ch);
C、while(ch=getchar()=='N ')printf("%c",ch);
D、while((ch=getchar())=='N ')printf("%c",ch);
9、【填空题】若k为整型变量,则以下for循环的执行次数是若k为整型变量,则以下for循环的 printf 执行次数是_______ for(k=2;k==0;) printf(%d,k--);
A、
10、【填空题】若变量m已定义,以下程序段中的do-while循环次数是________m=-1; do{ m=m*m;}while(!m);
A、
11、【填空题】下面程序的运行结果是___________#includestdio.hint main() { int m=0; while(m=2) { m++; printf(%d,m);}}
A、
12、【填空题】若有程序段:int x=10; while(x=0) x=x-1; 则循环体的执行次数是___________
A、
13、【填空题】以下程序输出结果是_______。 #includestdio.hint main() { int i; for(i=0;i3;i++) switch(i) { case 0:printf(%d,i); case 2:printf(%d,i); default:printf(%d,i); } }
A、
数组的引入
1、【单选题】假定int类型变量占用四个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是( )
A、4
B、12
C、20
D、40
二维数组的定义与引用
1、【单选题】以下二维数组c的定义形式是( )
A、int c[3][]
B、float c[3,4]
C、double c[3][4]
D、float c(3)(4)
2、【单选题】有如下定义语句:int aa[][3]={12,23,34,4,5,6,78,89,45};,则45在数组aa中的行列坐标各为( )
A、3,2
B、3,1
C、2,2
D、2,1
常用字符串处理函数
1、【单选题】有以下程序 #includestdio.hint main(){char a[]={ 'a', 'b', 'c','d','e','f','g','h','\0'};int i,j;i=sizeof(a);j=strlen(a);printf(%d,%d\n,i,j);return 0;}程序运行后的输出结果是( )
A、9,9
B、8,9
C、1,8
D、9,8
2、【单选题】设有两字符串“Good”、“Morning”分别存放在字符数组 str1[20]、str2[20]中,下面语句中能把“Morning”连接到“Good”之后的是( )。
A、strcpy(str1,str2);
B、strcpy(str1, "Morning");
C、strcat(str1, "Morning");
D、strcat("Good" ,str2);
数组作业
数组
1、【单选题】阅读如下程序段,则程序在先后输入love和china后,输出结果是( )#includestdio.h#includestring.hint main(){ char a[30],b[30]; int k; gets(a); gets(b); k=strcmp(a,b); if(k0) puts(a); else if(k0) puts(b);}
A、love
B、china
C、lovechina
D、没有输出结果
2、【单选题】已知:char a[20]= abc,b[20]= defghi;则执行下列语句后的输出结果为( )printf(%d,strlen(strcpy(a,b)));
A、11
B、6
C、5
D、以上答案都不正确
3、【单选题】阅读下列程序,则在执行后,程序的运行结果为( ) #include string.h#includestdio.hint main(){ char a[30]=nice to meet you!;strcpy(a+strlen(a)/2,you);printf(%s\n,a);}
A、nice to meet you you
B、nice to
C、meet you you
D、nice to you
4、【单选题】若有定义:int a[5]={1,2,3,4,5};char b='c',c;则下面表达式中数值为 2 的是( )。
A、a[2]
B、a[c-b]
C、a[b]
D、a[b-'b']
5、【单选题】以下对C语言字符数组描述错误的是( )。
A、字符数组可以存放字符串
B、字符数组中的字符串可以整体输入或输出
C、可以在赋值语句中通过赋值运算符”=”对字符数组整体赋值
D、不可以用关系运算符对字符数组中的字符串进行比较
6、【单选题】以下合法的数组定义是( )
A、int a[]="language";
B、int a[5]={0,1,2,3,4,5};
C、char a="string";
D、char a[]={"0,1,2,3,4,5"};
7、【单选题】以下各组选项中,均能正确定义二维实型数组a的选项是( )。
A、float a[3][4]; float a[][4]; float a[3][]={{1},{0}};
B、float a(3,4); float a[3][4]; float a[][]={{0};{0}};
C、float a[3][4]; static float a[][4]={{0},{0}};
D、float a[3][4];float a[3][];
8、【单选题】关于int a[2][4]={1,2,3,4,5,6 }; 说法不正确的是( )
A、它的等价形式之一是int a[][4]={{1,2,3,4},{5,6}}
B、它的等价形式之一是int a[][4]={1,2,3,4,5,6,0,0}
C、它的等价形式之一是int a[2][]={{1,2,3,4},{5,6,0,0}}
D、它的等价形式之一是int a[][4]={{1,2,3,4},{5,6,0}}
9、【单选题】下列关于char str[3][100]说法不正确的是( )
A、可以看作是3个字符串,而且每一个字符串的长度都不超过100
B、该数组最多可以容纳300个字符
C、可以分别用gets(str[1])和 puts(str[1])来输入和输出该字符数组中下标为1的字符串
D、可以通过puts(str)一次性输入数组的全部内容
10、【单选题】假设 array 是一个已定义好的,有 10 个元素的整型数组, 则下列写法中正确的是( )。
A、array[0]=10;
B、array=0;
C、array[10]=0;
D、array[-1]=0;
11、【单选题】对以下说明语句的正确理解是 ( ) int a[10]={6,7,8,9,10};
A、将5个初值依次赋给a[1]至a[5]
B、将5个初值依次赋给a[0]至a[4]
C、将5个初值依次赋给a[6]至a[10]
D、因为数组长度与初值的个数不相同,所以此语句不正确
12、【填空题】访问二维数组中的特定元素,需要同时指明______ 下标和_______下标。填空题多个答案按空格隔开
A、
13、【填空题】设有数组int a[4][5],则该数组的第一个元素和最后一个元素分别为______、_____。
A、
14、【填空题】下面程序的运行结果是_________。#includestdio.h#include string.hint main(){ char s[12]= a book!; printf(%d,strlen(s)); }
A、
15、【填空题】读以下程序得到运行结果是______#includestdio.hint main() { int k[30]={12,324,45,6}; int count=0,i=0; while(k[i]) { if(k[i]%2==0 || k[i]%5==0) count++; i++; } printf(%d,%d\n,count,i);}
A、
函数的声明、定义与调用
1、【单选题】设有如下的函数 fun (float x) { printf(\n%d,x*x); } 则函数的类型( )
A、与参数x的类型相同
B、void
C、int
D、无法确定
2、【单选题】以下正确的函数头定义形式是( )
A、double fun(int x,int y)
B、double fun(int x;int y)
C、double fun(int x,int y);
D、double fun(int x,y);
函数的参数传递
1、【单选题】数调用时,当实参和形参都是简单变量时,他们之间数据传递的过程是( )
A、实参将其地址传递给形参,并释放原先占用的存储单元
B、实参将其地址传递给形参,调用结束时形参再将其地址回传给实参
C、实参将其值传递给形参,调用结束时形参再将其值回传给实参
D、实参将其值传递给形参,调用结束时形参并不将其值回传给实参
2、【单选题】以下关于函数叙述中,错误的是( )
A、函数未被调用时,系统将不为形参分配内存单元
B、实参与形参的个数应相等,且实参与形参的类型必须对应一致
C、当形参是变量时,实参可以是常量、变量或表达式
D、形参可以是常量、变量或表达式
变量作用域
1、【单选题】以下正确的说法是( )。如果在一个函数中的复合语句中定义了一个变量,则该变量
A、只在该复合语句中有效
B、在该函数中有效
C、在本程序范围内有效
D、为非法变量
2、【填空题】阅读以下程序代码,其运行结果是_____________#include stdio.hvoid swap(int a,int b){ int t; t=a;a=b;b=t; printf(%d%d,a,b);}int main(){ int a=3,b=4; swap(a,b); printf(%d%d\n,a,b);}
A、
变量的存储属性
1、【单选题】凡是函数中未指定存储类别的局部变量,其隐含的存储类别为( )。
A、自动(auto)
B、静态( static )
C、外部(extern)
D、寄存器(register)
2、【填空题】阅读以下程序,其运行结果是_____________#include stdio.hfunc(int a,int b){ static int m=0,i=2; i+=m+1; m=i+a+b; return(m);}int main(){ int k=4,m=1,p1,p2; p1=func(k,m); p2=func(k,m); printf(%d,%d\n,p1,p2);}
A、
函数作业
指针
1、【单选题】下列关于指针变量赋空值的说法错误的是( )
A、当赋空值的时候,变量指向地址为0的存储单元
B、赋值语句可以表达为: 变量名=′\0′;
C、赋值语句可以表达为变量名=0;
D、一个指针变量可以被赋空值
2、【单选题】int a= 10,*p=a;语句中,p的值是_______
A、10
B、变量p的地址值
C、变量a的地址值
D、无意义
3、【填空题】阅读以下程序,其执行结果是_________#include stdio.h int main(){ int a,*p,*q; p=a; q=a; *p=5%6; *q=5; printf(%d\n,a);}
A、
指针作为函数参数
1、【填空题】下列程序段的输出结果是_______。 #include stdio.hvoid fun(int *px, int *py) { printf(%d %d\n, *px, *py); *px=3;*py=4;} int main() { int x=1,y=2; fun(x,y); printf(%d %d\n,x, y); }
A、
2、【填空题】#include stdio.h int *fun(int *a,int *b){ int c; c=*a%*b; return c;}int main(){ int a=5,b=19,*c; c=fun(a,b); printf(%d\n,++*c);}
A、
指针与数组
1、【单选题】对语句“int a[10],*p=a;”,下列表述中正确的是( )
A、*p被赋初值为a数组的首地址
B、*p被赋初值为数组元素a[0]的地址
C、p被赋初值为数组元素a[1]的地址
D、p被赋初值为数组元素a[0]的地址
2、【单选题】若有说明语句 int a[5], *p=a; 对数组元素的正确引用是( )
A、a[p]
B、p[a]
C、*(p+2)
D、p+2
字符串指针
1、【填空题】阅读下面程序,则执行后的结果为_____#include stdio.h int main() { char *str=abcdefghijklmnopq; while(*str++!=′e′); printf(%c\n,*str); }
A、
2、【填空题】下面函数的功能是____char *fun(char *str1,char*str2) { while((*str1)(*str2++=*str1++)); return str2;}
A、
指针单元测验
1、【单选题】下列正确的定义语句是( )
A、int x=3,*p=1;
B、int x=3,*p=0;
C、int x=3,*p=x;
D、int *p=&x=3;
2、【单选题】若有以下定义,且0=i5, 则对数组元素地址的正确表示是 ( )int a[ ]={1,2,3,4,5},*p=a, i;
A、&(a+i)
B、a++
C、&p
D、&p[i]
3、【单选题】下列语句定义p为指向float类型变量d的指针,其中正确的是( )
A、float d=0,*p=d;
B、float d=0,*p=&d;
C、float *p=&d,d=0;
D、float d=0,p=d;
4、【单选题】若已定义: int a[]={0,1,2,3,4,5,6,7,8,9},*p=a,i; 其中0≤i≤9,则对a数组元素不正确的引用是( )
A、a[p-a]
B、*(&a[i])
C、p[i]
D、a[10]
5、【单选题】现有如下定义语句 int*p,s[20],i; p=s; 表示数组元素s[i]的表达式不正确的是( )
A、*(s+i)
B、*(p+i)
C、*(s=s+i)
D、*(p=p+i)
6、【单选题】有说明语句char *name=newspaper; 则 可获取串中字符's'是( )
A、name[0]+3
B、*name+3
C、*(name+3)
D、name[4]
7、【单选题】若有以下定义,则 *(p+5) 的值为 ( )char s[ ]=Hello”, *p=s;
A、'0'
B、'\0'
C、'0'的地址
D、不确定的值
8、【单选题】对于2个类型相同的指针变量,不能进行的运算是( )
A、+
B、- ==
C、==
D、=
9、【单选题】已有定义int k= 2,*ptr1,*ptr2;且ptrl 和ptr2均已指向变量k,下面不能正确执行的赋值语句是( )。
A、k= *ptr1+ *ptr2
B、ptr2 =k
C、ptr1=ptr2
D、k= *ptrl * (*ptr2)
10、【单选题】以下程序输出的结果是( )#include stdio.h int main() { char w[][5]={ABCD,EFGH,IJKL,MNOP}; int k; for (k=1; k3; k++) printf(%s\n, w[k]+k); }
A、ABCD FGH
B、JKLOP
C、EFGJK
D、FGHKL
11、【单选题】设有语句:int k=1, *p1=k, *p2=k;,以下不能正确执行的赋值语句是( )
A、p1=k;
B、p1=p2;
C、*p1=*p2;
D、k=*p1+*p2;
12、【填空题】有以下程序#includestdio.hint main() { char *p=abcde\0fghjik\0 ; printf(%d\n ,strlen(p)); }程序运行后的输出结果是______
A、
13、【填空题】阅读下面程序,在程序执行后的结果为______#include stdio.hint main(){int c[][4]={1,2,3,4,5,6,7,34,213,56,62,3,23,12,34,56};printf(%x,%x\n,c[2][2],c[1][1]);}
A、
14、【填空题】下面程序段中,输出*的个数是__________#include stdio.hint main( ){ char *s=\ta\018bc; for(;*s!=′\0′;s++)printf(*);}
A、
15、【填空题】以下程序输出的结果是:___________#include stdio.hint main(){ char a[11]=0123456789,*p; p=a[4]; puts(p) ;}
A、
16、【填空题】设int a[10]={1,2,3}; 则*(a+3)的值是_______
A、
17、【填空题】阅读以下程序,输出结果为_________#includestdio.h#include string.hvoid fun( char s[]); int main() { char a[]=abcde;int k;fun(a);puts(a); return 0; } void fun( char s[]) { int x,y; char c; x=0; y=(strlen(s)-1)/2; for( ; xy; x++,y--) { c=s[y]; s[y]=s[x]; s[x]=c;} }
A、
18、【填空题】下面程序的运行结果是_____________ #include stdio.hint main( ){ int b[10]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; int *q=b; printf(%d\n, *(q+2) ); return 0;}
A、
微信扫码添加好友
如二维码无法识别,可拨打 13662661040 咨询。