设有定义语句“struct {int a;float b;char c;}abc,*p;”,则对结构体成员a的引用可以是( )。
A.(*p).aB.abc->aC.abc.aD.p->a回答错误!正确答案: A C D以下叙述中,正确的叙述是:A.预处理行不是c的可编译语句B.在程序中凡以#开始的语句都是预处理命令C.C程序在执行过程中对预处理命令进行处理D.预处理命令须以#开始回答错误!正确答案: A B D下列属于单字符输入输出函数的是()。
A.getchar()B.printf()C.scanf()D.putchar()回答错误!正确答案: A D当一个函数为外部函数时,不正确的说法是( )。
A.该函数不能被本文件中函数调用B.该函数不能被其他文件调用C.该函数只能被main()调用D.该函数只能被非主函数调用回答错误!正确答案: A B C D不能将高级语言编写的源程序转换成目标程序的是:A.编译程序B.解释程序C.编程程序D.链接程序回答错误!正确答案: B C D下列选项中关于外部变量,正确的是( )。
A.main函数是主函数,不在main函数内部定义的变量都是外部变量B.外部变量必须定义在源程序的开始处C.定义外部变量时,可以进行初始化外部变量必须定义在所有函数的外面回答错误!正确答案: C D已知“int a=1;char b=65; float c=2.0;double d=3.5;”。
则下述赋值表达式结果为整型的是()。
A.b=a+b;B.b=(int)(c+d);C.a=3.2;D.a=c+d;E.c=a+b;F.c=(int)3.2;回答错误!正确答案: A B C D已有char s[10][10]={0};int i=10;。
在下列表达式中,没有意义的表达式是:*(&(s+i)+i)B.*(*(s+i)+i)C.*(*(s+i-1)+i-1)D.s[i][i]回答错误!正确答案: A B D下列属于C语言标准库函数的为()。
A.pow()B.sin()C.log10()D.isalpha()E.sqrt()F.回答错误!正确答案: A B C D E已知int a[]={1,2,3,4,5,6,7,8,9},*p =a; 则值为3的表达式是()A.p+=2,*(p++)B.p+=2,*p++C.p+=2,*++pD.p+=2,++*p回答错误!正确答案: A B在定义int a[2][3];之后,对数组a的引用错误的是( )。
A.a(1,2)B.a[1,3]C.a[1>2][!1]a[2][0]回答错误!正确答案: A B D若有int *px; float *pf;char *pc;,下列关于指针的正确描述为()。
A.px、pc与pf三个变量的存储单元长度都一样。
B.px与pf存储单元长度一样。
C.px与pc存储单元长度一样。
D.pc与pf存储单元长度一样。
E.px、pc与pf三个变量的存储单元长度互不相同。
回答错误!正确答案: A B C D如果全局的外部变量和函数体内定义的局部变量重名,则错误说法为:A.局部变量优先B.C.全局的外部变量优先D.外部变量优先回答错误!正确答案: B C D当c的值不为0时,则在下列选项中,能正确将c的值赋给变量a、b的是( )。
A.b=a =c;B.a&&(b=c);C.(a=c)‖(b=c) ;D.(a=c) &&(b=c);回答错误!正确答案: A D下列选项中关于变量的生存期,不正确的描述是( )。
A.auto型变量是静态存储的,其生存期等同于程序的运行期。
static变量是动态存储的,函数调用结束时,static变量所占用的内存单元被释放C.register变量都是动态存储的D.外部变量都是静态存储的回答错误!正确答案: A B关于C语言程序的语句,正确的说法是( )。
A.语句的结束标识符是句号B.一行可以书写多条语句C.建议每条语句占一行D.一条语句只能占一行回答错误!正确答案: B C下列四条语句中,没有语法错误的语句是( )。
A.if(a=b<a)m=b;B.if((a=b)>=0)m=a;C.if((a=b)>=0)m=a;D.if(a>b)m=a;回答错误!正确答案: A B C D以下叙述中,不正确的叙述是( )。
A.未在定义语句中赋初值的auto变量和static变量的初值都是随机值B.静态(static)类别变量的生存期贯穿整个程序的运行期间C.函数的形参都属于全局变量D.全局变量的作用域不比局部变量的作用域范围大回答错误!正确答案: A C D有关结构化程序设计,正确的说法是( )。
A.三种基本结构可以相互嵌套B.三种基本结构可以交叉设计C.每个结构化的算法都可以归结为三种基本结构D.每个算法都必须包含三种基本结构回答错误!正确答案: A C如果想使下列数组a中5个元素的值全部为0,可以写成( )。
A.int a[5]={0:5};B.int a[5]=0;C.int a[5]={0};D.int a[5]={0,0,0,0,0};E.int a[5]={5:0};回答错误!正确答案: C D已有定义char s[10],*p=s;。
在下列表达式中,正确的表达式是:A.s=p+sB.s[2]=p[4]C.*p=s[0]D.p=s+5回答错误!正确答案: B C D函数中的形参若为指针,则调用时对应位置上的实参可以是( )。
A.指针变量B.地址C.简单变量的地址D.回答错误!正确答案: A B C D若有程序段int k=5; ,则下列执行后变量k的值是6的有( )。
A.++k;B.k++;C.k=(k++)+1;D.1+k++;E.k=(++k)+1;F.++k+1;回答错误!正确答案: A B D F若有int x=3,*px; float y=3,*py;,则正确的赋值表达式是( )。
A.py=&xpy=&yC.px=&yD.px=&x回答错误!正确答案: B D以下叙述中,错误的叙述是:A.函数的形参都属于全局变量B.未在定义语句中赋初值的auto变量和static变量的初值都是随机值C.全局变量的作用域不比局部变量的作用域范围大D.静态(static)类别变量的生存期贯穿整个程序的运行期间回答错误!正确答案: A B C下列选项中关于外部变量的作用域,正确的是( )。
A.外部变量若定义为静态的,其他源文件不能使用该外部变量B.外部变量的作用域是整个源程序C.可以通过extern,将一些外部变量的作用域扩展到多个源文件D.外部变量的作用域是所在的源文件回答错误!正确答案: A B C下列属于结构化程序设计基本结构的是:A.选择结构、循环结构B.顺序结构、选择结构C.顺序结构、选择结构、循环结构D.顺序结构、循环结构回答错误!正确答案: A B C D下列关于对二维数组a进行初始化的操作中,正确的写法是( )。
int a[][]={{3,2,1},{1,2,3}};B.int a[2][3]={{3,2,1},{1,2,3}};C.int a[][3]={{3,2,1},{1,2,3}};D.int a[][3]={3,2,1,1,2,3};回答错误!正确答案: B C D以下对C语言函数的有关描述中,不正确的描述是:A.C函数既可以嵌套定义又可以递归调用B.C程序中有调用关系的所有函数必须放在同一个源程序文件中C.函数必须有返回值,否则不能使用函数D.在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参回答错误!正确答案: A B C若形参是简单变量形式,则对应的实参可以是:A.数组名B.常量C.简单变量D.数组元素回答错误!正确答案: B C D下列计算机语言中,CPU不能直接执行的是:A.机器语言B.高级语言C.自然语言D.汇编语言回答错误!正确答案: B C D以下不合法的赋值语句是:A.c=int(a+b);B.d+5=10;C.x+y=100;D.x=y=100;回答错误!正确答案: A B C不能正确表示条件x≥y≥z的C语言表达式是:A.(x>=y>=z)B.(x>=y).AND.(y>=z)C.(x>=y)&(y>=z)D.(x>=y)&&(y>=z)回答错误!正确答案: A B C设char s[10];int i=5;,下列表达式中,不正确的表达式是( )。
A.*(&s+i)B.*(s+i)C.s[i+6]D.*((s++)+i回答错误!正确答案: A C D设有说明语句:char a=ˊ\72ˊ;,则变量a包含的字符数为:A.0个字符B.1个字符C.2个字符D.3个字符回答错误!正确答案: A C D下列选项中属于内部变量的是( )。
A.所有函数外部定义的变量B.函数的形式参数C.main函数内定义的变量D.复合语句内部定义的变量回答错误!正确答案: B C D下列属于字符串的是( )A.“3”B.“3 =y”C.“( x + y ) =6”D.“y”回答错误!正确答案: A B C D对于16位系统中,C语言中整数-8在内存中的错误存储形式是:A.1000 0000 0000 0000B.1000 0000 0000 1000C.1111 1111 1111 0111D.1111 1111 1111 1000回答错误!正确答案: A B CC语言中的文件分类是:A.文本文件和数据文件B.顺序文件和随机文件C.文本文件和二进制文件D.数据文件和二进制文件回答错误!正确答案: A B已知“int a, b; scanf ( "%d%d", &a, &b );”。
若为a和b输入值,可以作为输入分隔符的是( )。
A.逗号B.回车C.空格D.Tab键回答错误!正确答案: B C D与汇编程序相比,C语言程序的优点包括( )。
A.能够进行位操作B.目标代码质量较高C.更容易移植D.更容易阅读回答错误!正确答案: C D下列描述中,不能正确给字符数组str定义和赋值的是( )。
A.char str[]={"abcdefghijklmn "};B.char str[10];strcpy(str,"abcdefghijklmn");C.char str[10]={"abcdefghijklmn"};D.char str[10];str={" abcdefghijklmn "};回答错误!正确答案: B C D若有定义float w=1; int a=1, b=0; ,则不合法的switch语句是:A.switch(a); { case 1 printf("*\n"); case 2 printf("**\n"); }B.switch(a+b); { case 1: printf("*\n"); default: printf("\n"); }C.switch(w) { case 1.0: printf("*\n"); case 2.0: printf("**\n"); }D.switch(b) { case 1: printf("*\n"); default: printf("\n");}回答错误!正确答案: A B若有int x,*px=&x; float y, *pf=&y;char c,*pc=&c;,下列正确的为()。