单项选择==================================================题号:4639若有以下说明,则对结构体变量stud1中成员age的不正确引用是().struct student{int age;int num;}stud1,*p;p=&stud1;A、(*p).ageB、student.ageC、p->ageD、stud1.age答案:B题号:5590下面叙述中不正确的是().A、可以对字符型数组进行整体输入和输出.B、可以对整型数组进行整体输入和输出.C、不可以对浮点型数组进行整体输入和输出.D、字符型数组可以存放字符串.答案:B题号:1714不合法的关系表达式是:()A、'a'+1<cB、m>=n+1C、x=yD、x !=x+y答案:C题号:5800以下表述中正确的是().A、do-while 循环中while 语句不能省略B、在do-while 循环中while 表达式的值不能为"假"C、除了for 循环,其他循环中都不能使用复合语句D、do-while 循环中while(表达式)后面不能加分号答案:A题号:3963用下面的scanf函数输入数据,使得i=10,k=15选择正确的键盘输入方法(). (用"[CR]"表示回车,U表示空格)main(){int i,k;scanf("i=%d,k=%d",&i,&k);}A、10U15[CR]B、i=10,k=15[CR]C、i=10[CR]k=15[CR]D、10,15[CR]答案:B题号:1550若希望当A的值为奇数时,表达式的值为"真",A的值为偶数时,表达式的值为"假",则以下不能满足要求的表达式是().A、A%2==1B、A%2C、!(A%2==0)D、!(A%2)答案:D题号:3539若定义:int a=511,*b=&a;,则printf("%d\n",*b);的输出结果为().A、a的地址B、无确定值C、511D、512答案:C题号:1251下面各语句中能正确进行赋字符串操作的语句是().A、char st[][]={"ABCDE"};B、char s2[6]={'A','B','C','D','E'};C、char s1[5][]={"ABCDE"};D、char s[5]={'A','B','C','D','E'};答案:B题号:1368C语言的注释定界符是().A、{}B、/* */C、\* *\D、[]答案:B题号:4602若有定义:int *p[3];,则以下叙述中,正确的是().A、定义了一个名为*p的整型数组,该数组含有三个int类型元素B、定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int 的指针C、定义了一个可指向一维数组的指针变量p,所指一维数组应具有三个int类型元素D、定义了一个基类型为int 的指针变量p,该变量具有三个指针答案:B题号:1841能正确表示a和b同时为正或同时为负的逻辑表达式是:()A、(a+b>0)&&(a+b<=0)B、(a>=0||b>=0)&&(a<0||b<0)C、a*b>0D、(a>=0&&b>=0)&&(a<0&&b<0)答案:C题号:4179有定义:char *p1,*p2;,则下列表达式中,正确合理的是().A、p1=&p2B、p1/=5C、p1 *=p2D、p1+=5答案:D题号:4828当定义一个结构体变量时,系统分配给它的内存是().A、成员中,占内存量最大者所需的容量B、各成员所需内存量的总和C、结构中,最后一个成员所需内存量D、结构中,第一个成员所需内存量答案:B题号:3160C语言程序中,必须有的函数是().A、main()B、#include"stdio.h"C、scanfD、printf答案:A题号:4094设有如下说明和语句,请选出哪个是对c数组元素的正确引用(). int c[4][5],(*cp)[5];cp=c;A、*(*cp+2)B、*(cp+3)C、cp+1D、*(cp+1)+3答案:A题号:2299以下叙述中,不正确的是().A、C程序中的#include和#define 均不是C语句B、在C程序中,赋值运算符的优先级最低C、在C程序中,j++;是一条赋值语句D、一个好的程序应该有详尽的注释答案:B题号:3056若变量已正确定义且 k 的值是4,计算表达式(j=4,k--)后,j和k的值为().A、j=3,k=3B、j=3,k=4C、j=4,k=4D、j=4,k=3答案:D题号:1932设:char c1='A' ;根据下面的输出结果,正确的输出语句是().c1=A,ASCII=65A、printf("c1=%c\n,ASCII=%d",c1,c1);B、printf("c1=%c,ASCII=%c\n",c1,c1);C、printf("c1=%c,ASCII=%d\n",c1,c1);D、printf("c1=%s,ASCII=%c\n",c1,c1);答案:C题号:5288下面说法不正确的是:().A、a为真b为假,则a||b为假B、a为真,!a-1为真C、a为真b为假,!a&&b为假D、a为真b为假,则a&&b为假答案:A题号:3986下面错误的说明语句是().A、int(*a)[10];B、int a[][];C、int a['a'];D、int *a[10];答案:B题号:3524以下标识符中可以作为用户函数名的是().A、unionB、intC、structD、go_to答案:D题号:4226以下程序的输出结果是().main(){int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;printf("%d\n",*(p+2));}A、3B、1C、2D、4答案:A题号:3011以下正确的函数定义形式是().A、 double fun(int x,int y)B、 double fun(int x;int y)C、 double fun(int x,y);D、 double fun(int x,int y);答案:A题号:4031C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是().A、 doubleB、voidC、intD、float答案:C题号:3062设ch是char型变量,其值为A.,则表达式ch=(ch>='A'&&ch<='Z')?(ch+32):ch的值是:()A、aB、AC、zD、Z答案:A题号:1931为表示关系x>=y>=z,应使用C语言表达式为:()A、(x>=y)&(y>=z)B、(x>=y>=z)C、(x>=y)&&(y>=z)D、(x>=y)AND(y>=z)答案:C题号:5095C程序中的宏展开是在().A、程序执行时进行的B、编译前预处理时进行的C、编辑时进行的D、编译时进行的答案:B题号:1833下列运算符中是C语言关系运算符的是().A、!B、 !=C、&答案:B题号:4704下列语句定义pf为指向float类型变量f的指针,()是正确的.A、float f,pfB、float f,*pf=f;C、float *pf=&f,f;D、float f,*pf=&f;答案:D题号:4716若int a=2,则执行完表达式a -=a+=a*a后,a的值是().A、-4B、0C、-8D、-2答案:B题号:4093变量p为指针变量,若p=&a,下列说法不正确的是().A、&*p==&aB、(*p)++==a++C、*&a==aD、*(p++)==a++答案:D题号:5585以下叙述不正确的是().A、C程序的基本组成单位是函数B、在C程序中,注释说明只能位于一条语句的后面C、一个C源程序可由一个或多个函数组成D、一个C源程序必须包含一个main()函数答案:B题号:4592设有如下定义:struct sk{int a;float b;}data,*p;若要使p指向data中的a域,正确的赋值语句是().A、p=(struct sk*)data.a;B、p=&data.a;C、*p=data.a;D、p=(struct sk*)&data.a;答案:D题号:4195定义char s[10],*p=s;,则下面编译不能通过的语句是().A、s=p+s;B、s[2]=p[4];C、p=s+5;D、*p=s[0];答案:A题号:1467已知x=43,ch='A',y=0;,则表达式(x>=y&&ch<'B'&&!y)的值是().A、"假"B、语法错C、0D、1答案:D题号:1557以下运算符中,优先级最高的运算符是().A、=B、()C、 !=D、*(乘号)答案:B题号:1847下列正确的标识符是().A、%yB、a+bC、6aD、_do答案:D题号:933C语言的程序一行写不下时,可以().A、用逗号换行B、用反斜线换行C、用分号换行D、在任意标识符后用回车键换行B题号:1422能正确表示逻辑关系:"a≥10或a≤0"的C语言表达式是().A、a>=0 | a<=10B、a>=10 || a<=0C、a>=10 && a<=0D、a>=10 or a<=0答案:B题号:4547设有如下的程序段:char str[]="Hello";char *ptr;ptr=str;执行完上面的程序段后,*(ptr+5)的值为().A、'\0'B、'o'C、'o'的地址D、不确定的值答案:A题号:1454下列运算符中优先级最高的是().A、<B、&&C、+D、 !=答案:C题号:4700设 char *s="\ta\017bc";,则指针变量s指向的字符串所占的字节数A、7B、9C、5D、6答案:D题号:3423执行下面程序段后,ch的值是().char ch='a';ch=(ch>='A'&&ch<='Z')?(ch+32):ch;A、AB、zC、ZD、a答案:D题号:3472设a,b和c都是int型变量,且a=3,b=4,c=5,下面表达式中值为0的表达式是().A、a<=bB、'a'&&'b'C、!((a<b)&&!c||1)D、a||b+a&&b-c答案:C题号:1268下面不正确的字符串常量是().A、"0"B、""C、"12'12"D、'abc'答案:D题号:1597下列运算符优先级最高的是().A、&&B、||C、?:D、+答案:D题号:1588已定义:float x=1.25;long y=45678;根据下面的输出结果,正确的输出语句是().x=1.250000,y=45678A、printf("x=%f,y=%ld\n",x,y);B、printf("x=%8.2f,y=%5.0f",x,y);C、printf("x=%-8.2f,y=%-5.0d\n",x,y);D、printf("x=%f,y=%d\n",x,y);答案:A题号:3961C语言程序中,若对函数类型未加声明,则函数的类型系统默认为().A、intB、charC、voidD、 double答案:A题号:3656下列语句的输出结果是().printf("%d\n",(int)(2.5+3.0)/3);A、0B、1C、有语法错误不能通过编译D、2答案:B题号:4849设有以下定义:int a[10]={1,2,3,4,5,6,7,8,9,10};int *p=a;,则数值为6的表达式是().A、p+5B、*p+6C、*p+=5D、*(p+6)答案:C题号:4317当说明一个结构体变量时系统分配给它的内存是().A、结构中,第一个成员所需内存量B、成员中,占内存量最大者所需的容量C、结构中,最后一个成员所需内存量D、各成员所需内存量的总和答案:D题号:5795使用共用体变量,不可以().A、进行动态管理B、节省存储空间C、同时访问所有成员D、简化程序设计答案:C题号:3363设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是:()A、10<a<15B、!(a<=10)&&!(a>=15)C、a>10&&a<15D、a==11||a==12||a==13||a==14答案:A题号:4337设变量定义为"int x,*p=&x;",则&(*p)相当于().A、*(&x)B、*pC、xD、p答案:D题号:4035对结构体类型的变量的成员的访问,无论数据类型如何都可使用的运算符是().A、.B、&C、->D、*答案:A题号:1891下列()表达式的值为真,其中a=5;b=8;c=10;d=0A、(a*2-c)||dB、a&&dC、a*2>8+2D、a-b<c*d答案:D题号:2451针对下列程序段回答问题().for(t=1;t<=100;t++){scanf("%d",&x);if(x<0)continue;printf("%3d",t);}A、printf函数永远也不执行B、当x<0时整个循环结束C、x>=0时什么也不输出D、最多允许输出100个非负整数答案:D题号:4807设有说明:char c;int x;double z;,则表达式c*x+z值的数据类型为().A、charB、floatC、intD、 double答案:D题号:4038以下程序的输出结果为().main(){int a=1,b=2,c=3,d=4,e=5;printf("%d\n",fun c((a+b,b+c,c+a),(d+e)));} int fun c(int x,int y){return(x+y);}A、函数调用出错B、9C、15D、13答案:D题号:5293以下正确的说法是().A、如果函数值的类型与返回值类型不一致,以函数值类型为准B、return 后边的值不能为表达式C、如果形参与实参类型不一致,以实参类型为准D、定义函数时,形参的类型说明可以放在函数体内答案:A题号:4440已知键盘输入a=4,b=3,下面程序输出的结果是().main(){int a,b,s;scanf("%d%d",&a,&b);s=a;if(a<b)s=b;s=s*s;printf("%d\n",s);}A、13B、9C、16D、15答案:C题号:4856字符串指针变量中,存入的是().A、第一个字符B、字符串变量C、字符串的首地址D、字符串答案:C题号:3604以下对静态局部变量的叙述哪一个是不正确的().A、静态局部变量在整个程序运行期间都不释放B、在一个函数中定义的静态局部变量可以被另一函数调用C、数值型静态局部变量的初值默认为0D、静态局部变量是在编译时赋初值的,故它只被赋值一次答案:B题号:2083跳过当前循环体内容,继续执行下一次循环的语句是()A、continue语句B、 return语句C、break语句D、空语句答案:A题号:1716在C语言中,表示逻辑值"真"的是:()A、大于0的值B、非0的值C、tureD、非零整数答案:B题号:3817以下函数调用语句中,实参的个数是().exce((v1,v2),(v3,v4,v5),v6);A、3B、4C、5D、6答案:A已定义两个字符数组a,b,则以下正确的输入格式是().A、get(a,b);B、scanf("%s%s",a,b);C、gets("a"),gets("b");D、scanf("%s%s",&a,&b);答案:B题号:3151C语言中,不可以嵌套的是().A、函数定义B、选择语句C、函数调用D、循环语句答案:A题号:1271已定义float a;int i;选择正确的输入语句().A、scanf("%6.2f%d",&a,&i);B、scanf("%f%d",a,i);C、scanf("%f%d",&a,&i);D、scanf("%f%u",&a,&i);答案:C题号:1840算术运算符,赋值运算符和关系运算符的运算优先级按从高到低的顺序依次为().A、关系运算,赋值运算,算术运算B、算术运算,关系运算,赋值运算C、算术运算,赋值运算,关系运算D、关系运算,算术运算,赋值运算答案:BC语言程序的基本单位是:().A、字符B、函数C、程序行D、语句答案:B题号:1634C语言中,逻辑"真"等价于().A、大于零的数B、非零的整数C、非零的数D、大于零的整数答案:C题号:3411在C语言中,要求参加运算的数必须是整数的运算符是:().A、/B、!C、==D、%答案:D题号:1353以下选项中,合法的实型常数是().A、.2E0B、1.3EC、E-3D、5E2.0答案:AC程序的基本结构单位是().A、语句B、表达式C、函数D、文件答案:C题号:3796在C语言中,函数的隐含存储类别是().A、externB、autoC、staticD、无存储类别答案:A题号:4378经过下列的语句 int j,a[10],*p=a;定义后,下列语句中,合法的是().A、p=a[5];B、p=a[2]+2;C、p=p+2;D、p=&(j+2);答案:C题号:3918下列变量说明语句中正确的是().A、char a;b;c;B、int x;z;C、char:a b c;D、int x,z;答案:D以下说法正确的是().A、#define 不是C语句,printf()是C语句.B、#define 和printf()都是C语句.C、#define 和printf()都不是C语句.D、#define 是C语句,printf()不是C语句.答案:C题号:4502设有如下程序,请选择正确答案().#include<stdio.h>main(){int **k,*j,i=100;j=&i,k=&j;printf("%d\n",**k);}A、100B、i的地址C、j的地址D、运行错误答案:A题号:5528以下叙述中,正确的是().A、C语言可以不用编译就能被计算机识别执行B、C语言出现的最晚,具有其他语言的一切优点C、C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D、C语言比其他语言高级答案:C题号:3329以下的选择中正确的赋值语句是().A、j++B、a=b=5;C、y=int(x)答案:B题号:2951以下函数调用语句中,实参的个数是().fun c((e1,e2),(e3,e4,e5));A、3B、5C、语法错误D、2答案:D题号:1182字符串"\\\'efg\'\\"的长度是:().A、7B、3C、11D、5答案:A题号:955C语言源程序的基本单位是().A、子程序B、过程C、标识符D、函数答案:D题号:2827若有说明:int a[3][4]={0};,则下面正确的叙述是().A、只有元素a[0][0]可得到初值0B、数组a中各元素都可得到初值,但其值不一定为0C、数组a中每个元素均可得到初值0D、此说明语句不正确答案:C题号:2830若有以下的定义:int t[3][2];能正确表示t数组元素地址的表达式是().A、t[3]B、t[2]C、&t[3][2]D、&t[1]答案:B题号:1628能正确表示a>=10或a<=0的关系表达式是:()A、a>=10||a<=0B、A>=10 or a<=0C、a>=10&a<=0D、a>=10|a<=0答案:A题号:1539设 int x=1,y=1;表达式(!x||y--)的值是().A、0B、2C、-1D、1答案:D题号:3280设x,y,z,t均为整型变量,则执行以下语句后,t的值为:()x=y=z=1;t=++x||++y&&++z;A、1B、不定值C、2D、0答案:A题号:3260已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'.执行语句printf("%d,%d",c1,c2-2);后,输出结果是().A、65,66B、A,BC、A,68D、65,68答案:A题号:3826所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是:().A、6B、7C、8D、2答案:C题号:1754在以下一组运算符中,优先级最高的运算符是:()A、&&B、=C、<=D、%答案:D题号:1575表示关系x>0且y<=10的C语言表达式为().A、(x<=0)AND(y<=10)B、(x>0)&&(y<=10)C、x>0,y<=10D、(x<=0)&(y<=10)答案:B题号:1413对于赋值语句char cx='\037';判断正确的是:().A、cx的值是四个字符B、cx的值是三个字符C、不合法,不能赋值D、cx的值是一个字符答案:D题号:4335已定义char c[8]="ABCDEFG",*s=c;和int i;,则下面的输出语句中错误的是().A、printf("%s\n",s);B、for(i=0;i<8;i++)printf("%c",s[i]);C、printf("%s\n",*s);D、for(i=0;i<8;i++)printf("%c",c[i]);答案:C题号:3021关于return语句,下列正确的说法是().A、可以在同一个函数中,出现多次B、在主函数和其他函数中,均可出现C、必须在每个函数中,出现D、只能在除主函数之外的函数中,出现一次答案:A题号:1430若x=2,y=3,则x||y的结果是()A、0B、3C、2D、1答案:D题号:3690函数的形式参数系统默认存储类型说明是().A、registerB、staticC、externD、auto答案:D题号:1293以下字符中,不是转义字符的是().A、'\b'B、'\\'C、'\c'D、'\a'答案:C题号:3843若有说明语句:char c='\72';,则变量c().A、包含1个字符B、说明不合法,c的值不确定C、包含2个字符D、包含3个字符答案:A题号:2779下列数组说明中正确的是().A、int array[][]={1,2,3,4,5,6,7,8,9,10};B、int array[][][5]={1,2,3,4,5,6,7,8,9,10};C、int array[][4]={1,2,3,4,5,6,7,8,9,10};D、int array[3][]={1,2,3,4,5,6,7,8,9,10};答案:C题号:1881定义结构体的关键字是().A、enumB、unionC、structD、typedef答案:C题号:3356已定义ch为字符型变量,以下赋值语句中错误的是().A、ch=62+3;B、ch=NULL;C、ch='\xaa';D、ch='\';答案:D题号:1309C语言中,运算对象必须是整型的运算符是().A、〈=B、%=C、=D、/答案:B题号:2282选择结构中的条件与循环结构中循环成立的条件, 在写法上可以是任一表达式,但其值只能被判断为"真"或"假". 哪个数作为逻辑"假"值().A、0B、1C、非零的数D、-1答案:A题号:1243C语言中,以下几种运算符的优先次序()的排列是正确的.A、由高到低为:算术运算符,关系运算符,!,&&,||,赋值运算符B、由高到低为:算术运算符,关系运算符,赋值运算符,!,&&,||C、由高到低为:!,算术运算符,关系运算符,&&,||,赋值运算符D、由高到低为:!,&&,||,算术运算符,赋值运算符答案:C题号:4429若已定义x为int类型变量,下列语句中,说明指针变量p的正确语句是().A、*p=*x;B、int *p=x;C、int *p=&x;D、int p=&x;答案:C题号:1241下面四个选项中均是不合法的浮点数的选项是().A、-e3.234 1e3B、123 2e4.2.e5C、-.18 123e4 0.0D、160.0.12 e3答案:B题号:1193C语言中,double 类型数据占().A、8个字节B、4个字节C、2个字节D、1个字节答案:A题号:1369以下数据中,不正确的数值或字符常量是().A、cB、66C、50D、0xaa答案:A题号:4500已定义char a[10];和char *p=a;,下面的赋值语句中正确的是().A、*p="Turbo c";B、p="Turbo c";C、a[10]="Turbo c";D、a="Turbo c";答案:B题号:4612下列关于指针定义的描述,错误的是().A、指针变量的命名规则与标识符相同B、指针是一种变量,该变量用来存放某个变量的值C、指针变量的类型与它所指向的变量类型一致D、指针是一种变量,该变量用来存放某个变量的地址值答案:B题号:1347下列数据中属于"字符串常量"的是().A、'ABC'B、ABCC、"ABC"D、'A'答案:C题号:3268程序段:int x,y;x=13;y=5;printf("%d",x%=(y/=2));执行时输出的结果是().A、3B、0C、1D、2答案:C题号:2632若有以下定义和语句:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;不能表示a数组元素的表达式是().A、*p++B、a[*p-a]C、*pD、a[10]答案:B题号:2668将字符串Turbo赋给字符数组word,则下面错误的说明语句是().A、char word[]={"Turbo\0"};B、char word[]="Turbo\0";C、char word[]={'T','u','r','b','o','\0'};D、char word[]='Turbo\0';答案:D题号:3828以下定义语句中错误的是().A、char s[10]="test";B、int a[]={1,2};C、char *a[3];D、int n=5,a[n];答案:D题号:1120C语言中,用于结构化程序设计的三种基本结构是().A、for,while ,do-whileB、顺序结构,选择结构,循环结构C、if,switch,breakD、if,for,continue答案:B题号:2547选择正确的输入语句().:(其中:char string[20];)使得string的内容为"I am student".A、scanf("%s",string);B、scanf("%c",&string);C、scanf("%s",&string);D、gets(string);答案:D题号:985C语言执行程序的开始执行点是().A、包含文件中的第一个函数B、程序中,第一个函数C、程序中的main()函数D、程序中,第一条可以执行语言答案:C题号:3156以下符合C语言语法的赋值表达式是().A、d=9+e+f=d+9B、d=9+e,e++,d+9C、d=9+eD、d=9+e++=d+7答案:C题号:1652已定义:float x=1.25,y=3.37;根据下面的输出结果,正确的输出语句是().y+x=4.62,y-x=2.12A、printf("y+x=%4.2f,y-x=%4.2f\n",y+x,y-x);B、printf("y+x=%f,y-x=%f\n",y+x,y-x);C、printf("y+x=%6f,y=%6f\n",y+x,y-x);D、printf("y+x=%6.2f,y-x=%6.2f\n",y+x,y-x);答案:A题号:1204下面所列的语句行中能正确进行赋字符串操作的语句行是().A、char st[4][5]={"ABCDE"};B、char s[5]={'A','B','C','D','E'};C、char *s;scanf("%c",s);D、char *s;s="ABCDE";答案:D题号:2726以下能对二维数组a进行正确初始化的语句是().A、int a[][3]={{1,2,3},{4,5,6}};B、int a[2][]={{1,0,1},{5,2,3}};C、int a[2][4]={{1,2,3},{4,5},{6}};D、int a[][3]={{1,0,1}{},{1,1}};答案:A题号:1978设有如下程序段:int k=10;while(k==0)k--;,则下述说明中正确的是().A、循环体执行一次B、死循环C、循环体一次也不执行D、循环体执行10次答案:C题号:1800不合法的if语句是:()A、if(表达式)语句 else语句2B、if(表达式1)语句1 else if(表达式2)语句2 else语句3C、if(表达式)语句D、if U关系表达式U语句1Uelse U语句2答案:D题号:3965以下定义语句中错误的是().A、int a[]={1,2};B、int n=5,a[n];C、char *a[3];D、char s[10]="test";答案:题号:3463数组名作为实参数传递给函数时,数组名被处理为().A、该数组的首地址B、该数组的元素个数C、该数组中各元素的值D、该数组的长度答案:A题号:997如下说法不正确的是().A、若a为真b为假,则 a||b为真B、若a为真b为假,则 a&&b为假C、若a为真b为假,则! a-1&&b为真D、若a为真,则! a为假答案:C题号:5529以下叙述正确的是().A、可以把if定义为用户标识符,但不能把define定义为用户标识符B、define和if 都不能定义为用户标识符C、可以把define和if定义为用户标识符D、可以把define定义为用户标识符,但不能把if定义为用户标识符答案:D题号:935下列四个选项中均是C语言关键字的选项是().A、auto enum includeB、if struct typeC、signed union scanfD、switch typedef continue答案:题号:1229以下正确的字符串常量是()A、"\\\"B、'A'C、'abc'D、OlympicGames答案:A题号:2678下列说法中正确的是().A、函数调用不占运行时间,只占编译时间.B、在定义宏时,宏名与带参数的括弧之间可以加空格.C、宏替换不占运行时间,只占编译时间.D、有参数的宏定义,就是函数.答案:C题号:4082若有以下程序:main(){int k=2,i=2,m;m=(k+=i *=k);printf("%d,%d\n",m,i);}执行后的输出结果是().A、8,3B、8,6C、6,4D、7,4答案:C下列变量中合法的是().A、$ABCB、B.C.TomC、3a6bD、_6a7b答案:D题号:1785以下标识符中不能作为合法的C用户定义标识符的是().A、_123B、voidC、ifD、a3_b3答案:B题号:1281设a和b均为 double型常量,且a=5.5,b=2.5,则表达式(int)a+b/b的值是().A、6B、5.500000C、6.000000D、6.500000答案:C题号:3746整型变量x=1,y=3,经下列计算后,x的值不等于6的是().A、x=(x=1+2,x*2)B、x=9-(--y)-(--y)C、x=y*4/2D、x=y>2?6:5答案:B经下列语句定义后,sizeof(x),sizeof(y),sizeof(a),sizeof(b)在微机上的值分别为().char x=65;float y=7.3;int a=100;double b=4.5;A、2,2,2,4B、2,4,2,8C、1,2,2,4D、1,4,2,8答案:D题号:1476C语言的if语句中,用作判断的表达式为().A、算术表达式B、关系表达式C、任意表达式D、逻辑表达式答案:C题号:1205C语言提供的合法的数据类型关键字是().A、floatB、unsignedC、charD、int eger答案:B题号:3565putchar函数可以向终端输出一个().A、字符或字符型变量值B、整型变量表达式值C、实型变量值答案:A题号:4306下列程序段的输出结果为(). int a=7,b=9,t; t=a *=a>b?a:b; printf("%d",t);A、49B、63C、7D、9答案:B题号:4382以下叙述中,错误的是().A、用户所定义的标识符应尽量做到"见名知意"B、用户所定义的标识符必须以字母或下划线开头C、用户所定义的标识符允许使用关键字D、用户定义的标识符中,大,小写字母代表不同标识答案:C题号:4654执行下列语句后的输出为().int j=-1;if(j<=1)printf("****\n");else printf("%%%%\n");A、有错,执行不正确B、%%%%cC、%%%%D、****答案:D题号:2748char a[10];不能将字符串"abc"存储在数组中的是().B、a[0]=0;strcat(a,"abc");C、int i;for(i=0;i<3;i++)a[i]=i+97;a[i]=0;D、strcpy(a,"abc");答案:A题号:1429以下选项中,与k=n++完全等价的表达式是().A、n=n+1,k=nB、k+=n+1C、k=++nD、k=n,n=n+1答案:D题号:3489在C语言中,存储类型为()的变量只在使用它们时才占用存储空间.A、static 和autoB、register和autoC、register和externD、static 和register答案:B题号:2557定义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+i))答案:D题号:1246在定义构造数据类型时,不能().A、末尾不写分号B、说明变量C、初始化D、说明存储类型答案:A题号:3225以下标识符中不可以作为用户函数名的是().A、intB、floatC、printD、_答案:B题号:3116与实际参数为实型数组名相对应的形式参数不可以定义为().A、float a[];B、float a;C、float *a;D、float(*a)[3];答案:B题号:4263具有相同类型的指针变量p与数组a,不能进行的操作是().A、p=&a[0];B、p=a;C、p=&a;D、*p=a[0];答案:C题号:1642下列运算符优先级最低的是().A、&&B、+C、=D、!答案:C题号:4321定义char b[5],*p=b;,则能正确赋值的语句是().A、*p="abcd";B、p="abcd";C、*b="abcd";D、b="abcd";答案:B题号:1822下列各m的值中能使m%3==2&&m%5==3&&m%7==2为真的是().A、23B、8C、6D、17答案:A题号:2724若有语句char x[]="12345",y[]={'1','2','3','4','5'};,则正确的描述是().A、x数组等价于y数组.B、x数组和y数组的长度相同.C、x数组的长度大于y数组的长度.D、x数组的长度小于y数组的长度.答案:C题号:3453在C语言的函数中,下列正确的说法是().A、数组名不能作形参B、可以有也可以没有形参C、形参必须是变量名D、必须有形参答案:B题号:4294设p1和p2是指向同一个int型一维数组的指针变量,k为int型变量, ,则不能正确执行的语句是().A、k=*p1-*p2;B、k=*p1*(*p2);C、p2=k;D、p1=p2;答案:C题号:1451以下标识符中不能作为合法的C用户定义标识符的是().A、forB、printfC、sizeofD、WORD答案:C题号:4295变量的指针,其含义是指该变量的().A、值B、名C、一个标志D、地址答案:D题号:1291下列语句中符合C语言语法的语句是:().A、x=7+y,y++,z++;B、x=y+2=x+y+z;C、x=3+y++=x+3;D、x=(3+b,z)=x+3;答案:A题号:1070结构化程序由三种基本结构组成,三种基本结构组成的算法().A、只能完成部分复杂的任务B、可以完成任何复杂的任务C、只能完成一些简单的任务D、只能完成符合结构化的任务答案:B题号:4536int(*p)[6];它的含义为().A、具有6个元素的一维数组B、定义了一个指向具有6个元素的一维数组的指针变量C、指向整型指针变量D、指向6个整数中的一个的地址答案:B题号:3120若变量已正确定义,执行语句scanf("%d,%d,%d",&k1,&k2,&k3);时,()是正确的输入A、20 30 40B、2030,40C、20,30,40D、20,30 40答案:C题号:1297判断两个字符串是否相等,正确的表达方式是().A、while(strcmp(s1,s2)=0)B、while(strcmp(s1,s2)==0)C、while(s1==s2)D、while(s1=s2)答案:B题号:2939用scanf函数输入数据,使得x=9.6,y=81.73选择正确的输入语句().A、scanf("x=%f",&x);scanf("y=%f",&y);B、scanf("x=%3f",x);scanf("y=%5f",&y);C、scanf("x=%f",&x);scanf("y=%f",y);D、scanf("x=%3.1f",&x);scanf("y=%f",&y);答案:A题号:4072以下程序段执行后输出的结果是().char str[]="ABCD",*p=str;printf("%d\n",*(p+4));A、不确定的值B、字符'D'的地址C、68D、0答案:D题号:2739若有说明:int a[3][4];,则a数组元素的非法引用是().A、a[1][3]B、a[4-2][0]C、a[0][4]D、a[0][2*1]答案:题号:3987下列程序的输出结果是().main(){printf("%d\n",null);}A、变量无定义B、0C、1D、-1答案:A题号:1376下述正确的C语言常量是:().A、E2B、3e-3C、1.5E2.5D、5.0E答案:B题号:3079用下面的scanf函数输入数据,使得i=10,j=15,选择正确的键盘输入方法:(). (用[CR]表示回车)main(){int i,j;scanf("i=%d,j=%d",&i,&j);}A、i=10,j=15[CR]B、i=10Uj=15[CR]C、10U15[CR]D、10,15[CR]答案:题号:3728C语言中,函数调用的方式有().A、函数调用作为函数表达式一种B、函数调用作为语句一种C、函数调用作为语句,函数表达式或函数参数三种D、函数调用作为语句或函数表达式两种答案:C题号:4751在C语言中,char型数据在内存中的存储形式是().A、补码B、ASCII码C、反码D、原码答案:B题号:1663已定义:float x=1.25,y=3.37;根据下面的输出结果,正确的输出语句是().x=1.250000,y=3.370000A、printf("x=%f,y=%f\n",x,y);B、printf("x=%8.2f,y=%8.2f",x,y);C、printf("x=%7f,y=%7f\n",x,y);D、printf("x=%-8.2f,y=%-8.2f\n",x,y);答案:A题号:4182以下程序的输出结果是().main(){char str[]="ABCD",*p=str;printf("%s\n",p);}A、68B、ABCDC、不确定的值D、字符D的地址答案:B题号:1321下列字符序列中不可用作C语言标识符的是().A、a_1B、#abC、symbolD、b70答案:B题号:5285以下正确的描述是().A、在循环中,break语句不能独立出现B、只能用continue语句来终止本次循环C、goto语句只能用于退出多层循环D、switch语句中,不能出现continue语句答案:B题号:2765已定义char str[10];使得str的内容为"Happy"的正确输入语句是().A、scanf("%c",str);B、scanf("%s",str);C、scanf("%c",&str);D、scanf("%s",&str);答案:B题号:5299以下叙述中,正确的是().A、花括号"{"和"}"只能作为函数体的定界符B、构成C程序的基本单位是函数,所有函数名都可以由用户命名C、分号是C语句之间的分隔符,不是语句的一部分D、C程序中,注释部分可以出现在程序中,任意合适的地方答案:D题号:2976下面对函数的叙述,正确的是().A、函数中无论是否有 return语句,都能返回正确值B、函数中没有 return语句,说明不带回值C、函数不能嵌套定义D、函数的返回值是通过 return语句获得的答案:C题号:2569若有说明:int a[][4]={0,0};,则下面不正确的叙述是().A、有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0B、数组a的每个元素都可得到初值0C、因为二维数组a中第二维大小的值除经初值个数的商为1,故数组a的行数为1D、二维数组a的第一维大小为1答案:A题号:4208有定义:char a[10],*p1=a,*p2;,则下列表达式中,正确的是().A、p1 *=p2B、p1+=5C、p1/=5D、p1=&p2答案:B。