下半年计算机二级考试C语言模拟试题及答案六一、选择题1.已知函数的调用形式:fread(buffer,size,count,fp);其中buffer 代表的是(B)。
A、一个存储区,存放要读的数据项B、一个指针,指向要读入数据的存放地址C、一个文件指针,指向要读的文件D、一个整数,代表要读入的数据项总数2.结构体类型的定义允许嵌套是指(A)。
A、成员是已经或正在定义的结构体型B、定义多个结构体型C、成员可以重名D、结构体型可以派生3.对结构体类型的变量的成员的访问,无论数据类型如何都可使用的运算符是(B)。
A、&B、.C、*D、->4.若有以下的定义:int t[3][2];能正确表示t数组元素地址的表达式是(D)。
A、&t[1]B、t[3]C、&t[3][2]D、t[2]5.若有说明:int *p,m=5,n;以下正确的程序段是(D)。
A、scanf("%d",&n);*p=n;B、p=&n;scanf("%d",*p)C、p=&n;scanf("%d",&p);D、p=&n;*p=m;6.若定义:int a=511,*b=&a;, 则printf("%d\n",*b);的输出结果为(D)。
A、无确定值B、a的地址C、512D、5117.下列说法中正确的是(B ).A、函数调用不占运行时间,只占编译时间.B、宏替换不占运行时间,只占编译时间.C、有参数的宏定义,就是函数.D、在定义宏时,宏名与带参数的括弧之间可以加空格.C语言程序中,若对函数类型未加声明,则函数的类型系统默认为(C)。
A、voidB、doubleC、intD、char8.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是(A)。
A、函数调用可以作为一个函数的形参B、函数调用可以作为一个函数的实参C、函数调用可以作为独立的语句存在D、函数调用可以出现在表达式中9.对于void类型函数,调用时不可作为(B)。
A、循环体里的语句B、表达式C、if语句的成分语句D、自定义函数体中的语句10.C语言规定,函数返回值的类型是由(A)。
A、在定义该函数时所指定的函数类型所决定B、return语句中的表达式类型所决定C、调用该函数时系统临时决定D、调用该函数时的主调函数类型所决定11.以下定义语句中,错误的是(A)。
A、int n=5,a[n];B、int a[]={1,2};C、char s[10]="test";D、char *a[3];12.以下不能对二维数组a进行正确初始化的语句是(A)。
A、int a[2][3]={{1,2},{3,4},{5,6}};B、int a[][3]={{1,2},{0}};C、int a[2][3]={0};D、int a[][3]={1,2,3,4,5,6};13.在C语言中,引用数组元素时,其数组下标的数据类型允许是(B)。
A、整型常量B、整型常量或整型表达式C、整型表达式D、任何类型的表达式14.int a[10];合法的数组元素的最小下标值为(D)。
A、10B、9C、1D、015.下列数组说明中,正确的是(B)。
A、int array[][];B、int array[][4];C、int array[3][];D、int array[][][5];16.以下正确的描述是(A ).A、只能用continue语句来终止本次循环B、switch语句中不能出现continue语句C、在循环中break语句不能独立出现D、goto语句只能用于退出多层循环17.针对for循环语句,for(表达式1;表达式2;表达式3),下列说法正确的是(B ).A、break语句可以一次性跳出多层嵌套循环B、break语句只能跳出最内层循环C、continue语句可以一次性跳出多层嵌套循环D、continue语句不能跳出最外层循环18.下面程序正确的运行结果是(B ).(答案中用大写字母U代表空格)main(){int num=0;while(num<=2){num++;printf("=",num);}}A、UU1B、UU1UU2UU3C、UU1UU2UU3UU4D、UU1UU219.以下程序的执行结果是(B )。
main(){ int num = 0;while( num <= 2 ) { num++; printf( "%d,",num ); } }A、0,1,2B、1,2,3,C、1,2,3,4,D、1,2,20.C语言中,switch后的括号内表达式的值可以是( C)。
A、只能为整型和字符型B、只能为整型C、任何类型D、只能为整型,字符型,枚举型21.下列运算符中,不属于关系运算符的是(C)。
A、>=B、>C、!D、<22.下面说法不正确的是:(C )。
A、a为真b为假,则a&&b为假B、a为真b为假,!a&&b为假C、a为真b为假,则a||b为假D、a为真,!a-1为真23.以下运算符中,优先级最高的运算符是(D)。
A、==B、||C、%D、!24.已知键盘输入a=4,b=3,下面程序输出的结果是( C). main(){ int a,b,s;scanf("%d%d",&a,&b);s=a;if(a s=s*s;printf("%d\n",s);}A、9B、13C、16D、1525.为表示关系x>=y>=z,应使用C语言表达式为:( A)A、(x>=y)&&(y>=z)B、(x>=y)&(y>=z)C、(x>=y)AND(y>=z)D、(x>=y>=z)26.已定义float a; int i;选择正确的输入语句(C ).A、scanf("%6.2f=", &a,&i);B、scanf("%f%s", &a,&i);C、scanf("o=",&a,&i);D、scanf("%f%d", a,i);27.根据下面的程序,正确的输出形式是(A );main(){int i=5,j=10;printf ("i=%d,", i);printf ("j=%d ", j);}A、i=5, j=10B、10,5C、5,10D、i=5Uj=1028.若有以下程序:main(){int k=2,i=2,m;m=(k+=i*=k);printf("%d,%d\n",m,i);}29执行后的输出结果是(D )。
A、8,3B、7,4C、8,6D、6,430下列字符序列中,不可用作C语言标识符的是(C)。
A、b70B、a_1C、#abD、symbol31设C语言中,int类型数据占2个字节,则unsigned类型数据占(C)。
A、1个字节B、8个字节C、2个字节D、4个字节32已知f是float型的变量,对于语句f=(2.0,1.0,0.0),(3.0,4.0,5.0);的判断中,正确的是(B ).A、使 f 的值为5.000000B、使 f 的值为0.000000C、使 f 的值为2.000000D、语法错误33执行下列语句后变量x和y的值是(A)。
y=10;x=y++;A、x=10,y=11B、x=11,y=11C、x=11,y=10D、x=10,y=1034设有说明:char c; int x; double z;则表达式c*x+z值的数据类型为( C)。
A、charB、intC、doubleD、float35以下数据中,不正确的'数值或字符常量是(D)。
A、82.5B、0xff00C、10D、8.9e1.236若int a=2,则执行完表达式a-=a+=a*a后,a的值是(C )。
A、-4B、-8C、0D、-237以下运算符中,优先级最高的运算符是(C)。
A、!=B、*(乘号)C、( )D、=38下列数据中,为字符串常量的是(D)。
A、AB、How do you do.C、$abcD、"house"39以下标识符中,不能作为合法的C用户定义标识符的是(D)。
A、INTC、_doubleD、putchar40经下列语句定义后,sizeof(x),sizeof(y),sizeof(a),sizeof(b)在微机上的值分别为(D)。
char x=65;float y=7.3;int a=100;double b=4.5;A、1,2,2,4B、2,4,2,8C、2,2,2,4D、1,4,2,841以下标识符中,不能作为合法的C用户定义标识符的是(B)。
A、a3_b3B、voidC、_123D、IF42能将高级语言编写的源程序转换为目标程序的是(A)。
A、编译程序B、链接程序C、解释程序D、编辑程序43C语言的注释定界符是(D)。
A、[ ]B、{ }C、\* *\D、/* */44C语言源程序的基本单位是(B)。
B、函数C、标识符D、过程45在下列程序段中,枚举变量c1,c2的值依次是(A)。
enum color {red,yellow,blue=4,green,white} c1,c2;c1=yellow;c2=white;printf("%d,%d\n",c1,c2);A、1,6B、2,5C、2,6D、1,446定义int a[ ]={0,1,2,3,4,5,6,7,8,9},*p=a,i;,其中0≤i≤9,则对a 数组元素的引用不正确的是____.CA、p[i]B、a[p-a]C、*(*(a+i))D、*(&a[i])47执行下面程序段后,ch的值是:____Dchar ch=’Z’;ch=(ch>=’A’&&ch<=’Z’)?(ch+32):ch;A、AB、ZC、aD、z48能正确进行字符串赋值操作的语句是_____ .AA、char *s; scanf("%s",s);B、char *s; s=’ABCDEF’;C、char s[5]={"ABCDE"};D、char s[5]={’A’,’B’,’C’,’D’,’E’};49按照C语言规定,程序中各函数之间,以下叙述不正确的是______.BA、主函数可以调用其它任何函数.B、允许嵌套定义.C、允许递归调用.D、允许嵌套调用.50.已经有prt( )函数的定义,假设以下各程序中对函数的说明是正确的,以下程序段中有语法错误的是( D ).A、main() { int k; void prt( );…prt(’A’);…}B、main() { int k; int prt( );…k=prt(’A’);…}C、main() { int k; char prt( );…k=k+prt(65);…}D、main(){ int k; void prt( );…k=prt(’A’);…}。