当前位置:文档之家› C语言复习题

C语言复习题

一.选择题1.已知a=3 ; a+=3则执行后a的值为:()。

A) 3 B) 6C) 9 D) 122.已知x=1 ; x%=x+1执行后x的值为()A) 0.5 B) 0 C) 1/2 D) 13.已知J=3;J+=J-=J*J则执行后,J的值为()A) -3 B) -6 C) -9 D) -124.用一个标识符代表一个常量,被称为()。

A) 数字常量B) 符号常量C) 定义常量D) 字符常量5.程序中,其值容易改变的量,称为()A) 数量B) 含量C) 变量D) 常量6.在程序中出现了两个语句,int sum和int SUM。

()A) 都不是变量B) 是两个不同的变量C) 代表同一个变量D) 都是常量7.每个整型变量在内存中占用()位二进制数。

A) 2 B) 4 C) 8 D) 168.下列逻辑运算符中,哪一个是单目运算符?()A) !B) &C) || D) %9.为了输出字符串,下列哪一个语句是正确的?( )A) printf(“%f”,a); B) printf(“%d”,a);C) printf(“%c”,a); D) printf(“%s”,a);10、用scanf(“%d:%d”,&a,&b);输入数据时,数据之间必须用()隔开。

A) 逗号B) 分号C) 冒号D) 空格11、下列符号中哪一个是关系运算符。

()A) =B) % C) <D) +12、在程序运行中,不能改变的量称为()A ) 常量B) 字符串C) 变量D) 整型数13、C语言中每一句结束时必须有一个()。

A) 、B) ,C) ; D ) 。

14、在C语言中经常遇到“&”符号,其含义是()。

A) 给变量赋值B) 取变量的地址C) 定义一个变量D) 输出一个数据15、下列哪一个是条件运算符?()A ) ? :B) <= C ) && D) !=16、下列控制语句,哪一个是条件语句?()A) for( ) B) while( ) C) if( )D) do while( )17、下列输出语句,哪一个是正确的?()A) print(“…”); B) printf( “%d”,&a);C) printf(“%f”,a,b); D) printf(“123”);18逻辑运算符两侧运算对象的数据类型。

A) 只能是0和1 B) 只能是0或非0正数C) 只能是整型或字符型数据D) 可以是任何类型的数据19.判断char型变量ch是否为大写字母的正确表达式是。

A) …A‟<=ch<=…Z‟B) (ch>=…A‟)&(ch<=…Z‟)C) (ch>=…A‟)&&(ch<=…Z‟)D) (…A‟<= ch)AND(…Z‟>= ch)20.若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”。

则以下不能满足要求的表达式是。

A) A%2==1 B) !(A%2==0) C) !(A%2)D) A%221.已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是。

if(x>y) z=x; x=y; y=z;A) x=10, y=20, z=30 B) x=20, y=30, z=30C) x=20, y=30, z=10 D) x=20, y=30, z=2022.若有下列语句组,则输出结果是()int x=0;if (x++<0) printf(“%d”,--x); printf(“%d”,x++);A) –1 B) 1 C) -1 –1 D) 0 023.能正确表达逻辑关系“a>=10”或“a<=0”的c语言表达式是()A) a>=10 or a<=0 B) a>=10 | a<=0C) a>=10 && a<=0 D) a>=10 || a<=024.以下程序的输出结果是main( ){ int n=4;while(n--) printf("%d ",--n);}A) 2 0 B) 3 1 C) 3 2 1 D) 2 1 025.设x和y均为int型变量,则执行下的循环后,y值为for(y=1,x=1;y<=50;y++){ if(x>=10)break;if(x%2==1){x+=5;continue;}x-=3;}A) 2 B) 4 C) 6 D) 826.能正确表示a和b同时为正或同时为负的逻辑表达式是A) (a>=0‖b>=0)&&(a<0‖b<0)B) (a>=0&&b>=0)&&(a<0&&b<0)C) (a+b>0)&&(a+b<=0)D) a*b>027.下面程序的输出结果为()main(){ int a=0,i;for(i=1;i<5;i++){ switch(i){ case 0:case 3: a+=2;case 1:case 2: a+=3;default: a+=5;}}printf("\n%d",a);}A) 31B) 13 C)10 D) 2028.以下对二维数组a的正确说明是________.A) int a[3][]; B) float a(3,4);C) double a[1][4] D) float a(3)(4);29若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为______.(假设a[0][0]位于数组的第一个位置上。

)A) i*m+j B) j*m+i C) i*m+j-1 D) i*m+j+130.已知int a[10] ,则对a数组的正确引用是()A)a[10] B)a[3.5] C)a[10-10]D)a(5)31.已知int a[5];则a数组中首元素的地址可以表示为()A)&a B)a+1 C)a D)&a[1]32.若有定义char s[ ]=”good”; char t[ ]={…g‟,‟o‟,‟o‟ ,‟d‟}; 则下列叙述正确的是A) s 和t 完全相同B)数组s比t 短C)数组s与t 长度相同D)数组s 比t 长33.下面程序段的运行结果是_________.char a[7]="abcdef";char b[4]="ABC";strcpy(a,b);printf("%c",a[5]);A) 空格B) \0 C) e D) f34.以下正确的函数定义形式是( ).A) double fun(int x,int y)B) double fun(int x; int y)C) double fun(x, y); D) double fun(int x,y);35.C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式为( ).A) 地址传递B)单向值传递C)由实参传给形参,再由形参传回给实参D)由用户指定传递方式36.以下函数的类型是( ).fff(float x)printf(“%d” , x*x);A) float B) int(?不定义默认为整型?)C) void类型D) 无法确定37.在C语言中,()A) 函数的定义可以嵌套,但函数的调用不能嵌套。

B) 函数的定义不能嵌套,但函数的调用可以嵌套。

?????????C) 函数的定义与函数的调用都不能嵌套。

D) 函数的定义与函数的调用都能嵌套。

38.若用数组名作为函数调用的实际参数,传递形式参数的是()A) 数组第一个元素的值B) 数组元素的首地址C) 数组的全部元素的值D) 数组元素的个数39.在函数的复合语句中定义变量,则该变量()A) 只在复合语句中有效B) 只在函数中有效C) 在本程序范围内有效D) 不能这样定义40.有以下程序int a=3;main(){int s=0;{ int a=5; s+=a++;}s+=a++;printf("%d\n",s);}则程序运行的结果是( )A) 8B) 10 C) 7 D) 1141.变量的指针,其含义是指该变量的_________.A) 值B) 地址C) 名D) 一个标志42.若有语句int *point, a=4; 和point=&a;下面均代表地址的一组选项是_________A) a, point, *&a B) &*a, &a, *pointC) *&point, *point, &a D) &a, &*point , point43.若有定义:int a[2][3],则对a数组的第i行j列元素地址的正确引用为______.A) *(a[i]+j)B) (a+i) C) *(a+j) D) a[i]+j44.若有以下定义,则p+5表示_______. int a[10],*p=a;A) 元素a[5]的地址B) 元素a[5]的值C) 元素a[6]的地址D) 元素a[6]的值45.若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是_______.A) p=q; B) *p=*q; C) n=*q;D) p=n;46.若有说明:int i, j=2,*p=&i;,则能完成i=j赋值功能的语句是_______.A) i=*p; B) *p=*&j;C) i=&j; D) i=**p;47.有如下说明int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为9的表达式是_______.A) *P+9 B) *(P+8)C) *P+=9 D) P+848.对于类型相同的两个指针变量之间,不能进行的运算是_______.A) < B) = C) +D) –49.已有变量定义和函数调用语句:int a=25;print_value(&a);下面函数的正确输出结果是_______.void print_value(int *x){ printf ("%d\n",++*x);}A) 23 B) 24 C) 25 D) 2650.若有定义:int aa[ 8];。

则以下表达式中不能代表数组元aa[1]的地址的是_______.A) &aa[0]+1 B) &aa[1] C) &aa[0]++ D) aa+151.二.填空题1.已知a=12 ; n=5; a%=(n%=2); a=( 0)2.已知a=2; a+=a-=a*=a; a=( 0)3.a=1; printf ( “a=%d ”,++a);输出结果为:(2)。

相关主题