49. 设有“int a=255,b=8;”,则“printf(“%x,%o\\n”,a,b);”输出的是( )。 A.255,8 B.ff,10 C.0xff,010 D.10,9
50.已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是( )。(注: 表示空格,
scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);
A) 10A 20B
已有定义:float f1,f2; 数据的输入方式:4.52
3.5
A)scanf(“%f,%f”,&f1,&f2); B)scanf(“%f%f”,&f1,&f2); C)scanf(“%3.2f,%2.1f”,&f1,&f2); D)scanf(“%3.2f%2.1f”,&f1,&f2); 52.指出下面正确的输入语句是( ) A.scanf (“a=b=%d”,&a,&b); B.scanf(“a=%d,b=%f”,&m,&f); C.scanf(“<”,c); D.scanf(“%5.2f,&f);
53. 设x,t均为int型变量,则执行语句“x=10;t=x&&x>10;”后,t的值为( )。 A.不定值 B.10 C.1 D.0 54. 假定所有变量均已正确定义,则下列程序段运行后y的值是( )。 int a=0,y=10;
if(a=0) y--; else if(a>0) y++; else y+=y;
A.20 B.11 C.9 D.0 55. 假定所有变量均已正确定义,则下列程序段运行后x的值是( )。 a=b=c=0; x=35;
if(!a) x--; else if(b); if(c) x=3; else x=4;
A.34 B.4 C.35 D.3
56. 若有“int a=1,x=1;”,则循环语句“while(a<10) x++; a++;”的循环执行( )。 A.无限次 B.不确定次 C.10次 D.9次 57. 循环“for(i=0,x=1;i=10&&x>0;i++);”的循环执行( )。
A.无限次 B.不确定次 C.10次 D.9次 58. 假定i和j为int型变量,则执行以下语句后j的值是( )。 int i=1;
switch(i++) {
case 1:for(j=0;j<9;j++) if(i==1) break; case 2:for(j=1;j<10;j++) if(i==2) break; case 3:printf(“i=%d\\n”,i); }
A.0 B.1 C.9 D.10
59. 设x和y均为int型变量,则执行以下的循环后,y的值为( )。
for(y=1,x=1;y<=50;y++) {
if(x>=0) break;
if(x%2==1) {x+=5;continue;} x-=3; }
A.2 B.4 C.6 D.8 60. 在C语言中,下列说法中正确的是( )。 A. 不能使用“do 语句 while(条件)”的循环
B. “do 语句 while(条件)”的循环必须使用“break”语句退出循环 C. “do 语句 while(条件)”的循环中,当条件为非0时将结束循环 D. “do 语句 while(条件)”的循环中,当条件为0时将结束循环 61. 在C语言语句中,用来决定分支流程的表达式是( )。
A.可用任意表达式 B.只能用逻辑表达式或关系表达式 C.只能用逻辑表达式 D.只能用关系表达式 62. 若有以下数组说明,则数值最大的和最小的元素下标分别是( )。
int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};
A.1,12 B.0,11 C.1,11 D.0,12 63. 若有以下数组说明,则i=10;a[a[i]]元素数值是( )。
int a[12]={1,4,7,10,2,5,8,11,3,6,9,12};
A.10 B.9 C.6 D.5 64. 若有int a[3][5]={{2,2},{2,6},{2,6,2}},则数组a共有个元素:( A.8 B.5 C.3 D.15
65. 若有int a[7]={1,2,3,4,5,6,7},*p=a则不能表示数组元素的表达式是: ( ))
A.*p B.*a C.a[7] D.a[p-a] 66. 若有以下说明,则数值为4的表达式是( )。
int a[12]={1,2,3,4,5,6,7,8,9,10,11,12}; char c=’a’,d,g;
A.a[g-c] B.a[4] C.a[‘d’-‘c’] D.a[‘d’-c] 67.
下列语句中,正确的是( )。
A. char a[3][]={‘abc’,‘l’}; B. char a[][3]={‘abc’,‘l’}; C. char a[3][]={‘a’,“l”}; D. char a[][3]={“a”,“l”}; 68.
下列定义的字符数组中,“printf(“%s\\n”,str[2]);”的是输出是( )。
static str[3][20]={“basic”,“foxpro”,“windows”};
A.basic B.foxpro C.windows D.输出语句出错 69.
合法的数组定义是( )。
A. int a[]={“string”}; B. int a[5]={0,1,2,3,4,5}; C. char a={“string”}; D. char a[]={0,1,2,3,4,5};
70.设有如下字符数组定义,则合法的函数调用是( )。 char a[]=“I am a student”,b[]=“techer”; A.strcmp(a,b); B.strcpy(a,b[0]); C.strcpy(a[7],b); D.strcat(a[7],b); 71.设有如下定义,则正确的叙述为( )。 char x[]=“abcdefg”;
char y[]={‘a’,‘b’,‘c’,‘d’,‘e’,‘f’,‘g’}; A. 数组x和数组y等价 B. 数组x和数组y长度相同 C. 数组x的长度大于数组y的长度 D. 数组x的长度小于数组y的长度 72.下列描述中不正确的是( )。 A. 字符型数组中可能存放字符串。
B. 可以对字符型数组进行整体输入、输出。 C. 可以对整型数组进行整体输入、输出。
D. 不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。
73.设有如下二维数组定义,则不正确的元素引用是( )。 int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}; A.a[2][3] B.a[a[0][0]][1] C.a[7] D.a[2][‘c’-‘a’] 74.对于同类型的指针变量,不可能进行的运算是( )。
A.- B.= C.+ D.== 74.下列不正确的定义是( )。
A. int *p=&i,i; B.int *p,i; C.int i,*p=&i; D.int i,*p;
75.设指针x指向的整型变量值为25,则“printf(“%d\\n”,++*x);”的输出是( )。 A.23 B.24 C.25 D.26 76. 若有说明:“char ch,*p;”,则不能正确获得值的语句是( )。 A.*p=getchar();
B.p=&ch;scanf(“%c”,p);
C.p=(char *)malloc(1);*p=getchar(); D.p=&ch;*p=getchar();
77.以下选项中不能使指针正确指向字符串的是( ) A) char *ch;*ch=“hello” B) char *ch=“hello”
C) char *ch=“hello”;ch=“bye” D) char *ch”;ch=“hello”
78. 若有说明语句“int a[5],*p=a;”,则对数组元素的正确引用是( )。 A.a[p] B.p[a] C.*(p+2) D.p+2 79. 若有以下定义,则不能表示a数组元素的表达式是( )。 int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
A.*p B.a[10] C.*a D.a[p-a] 80. 若有以下定义,则值为3的表达式是( )。 int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; A.p+=2,*(p++) B.p+=2,*++p C.P+=3,*p++ D.p+=2,++*p;
81. 若有定义“int a[3][4];”则对数组元素a[i][j](0<=i<3,0<=j<4)正确的引用是( )。 A.*(a+4*i+j) B.*(*(a+i)+j) C.*(a+i)[j] D.a[i]+j
82. 若有定义“int a[3][4],*p=a;”,则对数组元素a[i][j](0<=i<3,0<=j<4)正确的引用是( )。
A.p=a B.*(*(p+i)+j) C.*(p+i*4+j) D.*(a+i)+j 83. 有如下定义和语句,则输出结果是( )。 int **pp,*p,a=10,b=20;
pp=&p;p=&a;p=&b;printf(“%d,%d\\n”,**pp,*p);
A.10,20 B.10,10 C.20,10 D.20,20 84. 若用数组名作为函数调用的实参,传递给形参的是( ) A.数组的首地址 B.数组第一个元素的值 C.数组中全部元素的值 D .数组元素的个数
85. 以下叙述中不正确的是( ) A.在不同的函数中可以使用相同名字的变量。 B.函数中的形式参数是局部变量。
C.在一个函数内的复合语句中定义变量在本函数范围内有效。 D.在一个函数内定义的变量只在本函数范围内有效。 86. 在C语言程序中,有关函数的定义正确的是( )。 A. 函数的定义可以嵌套,但函数的调用不可以嵌套 B. 函数的定义不可以嵌套,但函数的调用可以嵌套 C. 函数的定义和函数的调用均不可以嵌套 D. 函数的定义和函数的均可以嵌套
87. 以下对C语言函数的有关描述中,正确的是( )。
A. 在C语言程序中,调用函数时,只能把实参的值传递给形参,形参的值不能传送给实参 B. C语言函数既可以嵌套定义又可递归调用 C. C语言函数必须有返回值,否则不能使用函数
D. 在C语言程序中有调用关系的所有函数必须放在同一个源程序文件中 88. 函数调用语句“f((e1,e2),(e3,e4,e5));”中参数个数是( )。 A.5 B.4 C.2 D.1 89.
有一函数的定义如:void fun(char *s){??},则不正确的函数调用是( )。
A. main()
{char a[20]=”abcdefgh”; fun(a); ?? }