您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 数据通信与网络 > 计算机二级C语言试卷
C语言模拟试卷一、选择题1.c语言中字符型(char)数据在内存中的形式存储是(A)。A)原码B)补码c)反码D)ASCII码2.c语言中,长整型1ong数据在内存中的存储形式是(A)。A)ASCII码E)原码C)反码D)补码3.c语言的运算符按运算对象的数目可以分为(C)。A)单目运算符一种B)单目和双目运算符C)单目、双目和三目运算符D)单目、双目、三目和四目运算符4.运算符有优先级,在c语言中关于运算符优先级的正确叙述是()。A)逻辑运算符高于算术运算符,算术运算符高于关系运算符B)算术运算符高于关系运算符,关系运算符高于逻辑运算符c)算术运算符高于逻辑运算符,逻辑运算符高于关系运算符D)关系运算符高于逻辑运算符,逻辑运算符高于算术运算符5.c语言并不是非常严格的算法语言,在以下关于c语言的不严格的叙述中,错误的说法是(A)。A)大写字母和小写字母的意义相同B)有些不同类型的变量可以在一个表达式中运算C)在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型D)同一个运算符号在不同场合可以有不同的含义6.在c语言中,错误的int类型的常数是(B)。A)32768B)0C)037D)0xAF7.设int类型的数据长度为2个字节,则unsignedint类型数据的取值范围定(A)A)0至255B)0至65535C)—32768至32767D)—256至2558.以下(B)是错误的转义字符。A)’\\’B)’\’’c)’\81’D)’\0’9.已知:charw;intx;floaty;doublez则表达式w*x+z-y结果的类型是().A)floatB)charc)intD)double10.sizeoff(double)是()A)函数调用B)double型表达式C)int型表达式D)非法表达式11.已知:charch=’A’;则下列表达式值是()。Ch=(ch=’A’&&ch=’Z’)?(ch+32):ch;A)AB)aC)ZD)z12.选出使变量i的运行结果为4的表达式()。A)inti:0,j=0:B)inti=1,j=0(i=3,(j++)+i);j=i=((i=3)*2);C)inti=0,j=1;D)inti=1,j=1(j==1)?(i=1):(i=4);i+=j+=2;13.已知:intw=3,x=10,z=7;则执行下面语句后的结果为()printf(”%d”,x>10?x+100:x-10);printf(”%d”,w++||z++);printf(“%d”,!w>z);printf(“%d”,w&&z);A)0111B)11111C)0101D)010014.执行以下语句后的输出结果为()enumweekday{sun,mon=3,tue,wed,thu};enumweekdayworkday;workday=wed;printf(”%d\n”,workday);A)5B)3c)4D)编译时出错15.若有定义:enumweekday{mon,tue,wed,thu,fri}workday;则错误的语句是()。A)workday=(enumweekday)3;B)workday=(enumweekdoy)(4-2)C)workday=3;D)workday=thu;16.以下正确的描述为()。A)每个c语言程序必须在开头用预处理命令:#include<stdio.hB)预处理命令必须位于c源程序的首都C)在C语言中预处理命令都以”#”开头D)c语言的预处理命令只能实现宏定义和条件编译的功能17.以下有关宏替换叙述中,错误的是()。A)宏替换不占用运行时间B)宏名无类型C)宏替换只是字符替换D)宏名必须用大写字母表示18.c语言对嵌套if语句的规定是:else总是与()配对。A)其之前最近的ifB)第一个ifC)缩进位置相同的ifD)其之前最近的且尚未配对的if19.为了判断两个字符串s1和s2是否相等,应当使用()。A)if(s1==s2)B)if(s1=s2)C)if(strcpy(s1,s2))D)if(strcmp(sl,s2)==020.下列关于switch语句和break语句的结论中,正确的是()A)break语句是switch语句的一部分B)在switch语句中可以根据需要使用或不使用break语句C)在switch语句中必须使用break语句D)在switch语句中不能使用break语句21.以下错误的描述是()。A)break语句不能用于循环语句和switch语句外的任何其它语句B)在switch语句中使用break语句或continue语句的作用相同C)在循环语句中使用continue语句是为了结柬本次循环,而不是终止整个循环D)在循环语句中使用break语句是为了使流程跳出循环体,提前结束循环22.以下错误的描述是()。A)使用while和do_while循环时,循环变量初始化的操作应在循环语句之前完成B)while循环是先判断表达式,后执行循环体语句c)do_while和for循环均是先执行循环体语句,后判断表达式D)for、while和do—while循环中的循环体均可以由空语句构成23.若inti=10:执行下列程序后,变量i的正确结果是()。switch(i){case9:i+1;case10:i+=1;case11:i+=1;default:i+=1;}A)10B)11c)12D)1324.以下不是死循环的语句为()。A)for(;;x+=i);B)while(x=1){x++;}C)for(i=10;;i--)sum+=i;D)for(;(c=getchar())!=’\n’;)printf(“%c”,c);25.c语言程序由函数组成。它的()。A)主函数必须在其它函数之前,函数内可以嵌套定义函数B)主函数可以在其它函数之后,函数内不可以嵌套定义函数C)主函数必须在其它函数之前,函数内不可以嵌套定义函数D)主函数必须在其它函数之后,函数内可以嵌套定义函数26.一个c语言程序的基本组成单位是()A)主程序B)子程序C)函数D)过程27.一个c语言程序总是从()开始执行。A)主过程B)主函数C)第一个函数D)第一行28.以下说法中正确的是——。A)c语言程序总是从第一个定义的函数开始执行B)在c语言程序中,要调用的函数必须在main()函数中定义C)c语言程序总是从main()函数开始执行D)c语言程序中的main()函数必须放在程序的开始部分29.若有以下说明,则数值为4的表达式是()inta[l2]={1,2,3,4,5,6,7,8,9,10,11,l2};charc=’a’,d,g;A)a[g-c]B)a[4]C)a[’d’-‘c’]D)a[‘d’-c]30.以下程序的输出结果是()main(){intn[2]={0},i,j,k=2;for(i=0;i<k;i++)for(j=0;j<k;j++)n[j]=n[i]+1;printf(“%d\n”,n[k]);}A)不确定的值B)3C)2D)131.以下程序的输出结果是()main(){inta[]={2,4,6,8,10},y=1,x,*p;p=&a[1];for(x=0;x3;x++)y+=*(p+x);printf(“%d\n”,y);}A)17B)18C)19D)2032.以下程序的输出结果是()#include“stdio.h”main(){x=try(5);printf(”%d\n”,x);}try(intn){if(n>0)return(n*try(n-2));elsereturn(1);}A)15B)120C)1D)前面三个答案均是错误的33.当说明一个结构变量时系统分配给它的内存是()。A)成员所需内存量的总和B)结构中第1个成员所需内存量C)成员中占内存量最大的所需的容量D)结构中最后一个成员所需内存量34.以下对结构类型变量的定义中错误的是()。A)#defineSTUDENTstructstudentB)structstudentSTUDENT{intnum;{intnum;floatage;floatage;}stdl;}stdl;C)structD)struct{intnum;{intnum;floatage;floatage;}stdl;}student;structstudentstdl;35.在下列结论中,只有一个是正确的,它是().A)递归函数中的形式参数是自动变量B)递归函数中的形式参数是外部变量C)递归函数中的形式参数是静态变量D)递归函数中的形式参数可以根据需要自己定义存储类型36.下面程序段的运行结果是()charc[]=”\t\v\\\0will\n”;print(”%d”,strlen(c));A)14B)3C)9D)字符串中有非法字符,输出值不确定37.若有以下程序段:inta[]={4,0,2,3,l},i,j,t;for(i=1;i<5;i++){t=a[i];j=i-1;while(j>=0&&t>a[j])I{a[j+1]=a[j];j--;}a[j+1]=t;}38.则该程序段的功能是()。A)对数组a进行冒泡排序(升序)B)对数组a进行冒泡排序(降序)C)对数组a进行选择排序(升序)D)对数组a进行选择排序(降序)已知:charb[5],*p=b;则正确的赋值语句是()。A)b=“abcd”;B)*b=“abcd“;C)p=“abcd”;D)*p=“abcd”;39.已知:char*aa[2]={“abcd”,“ABCD”};则以下说法正确的是()。A)aa数组元素的值分别是“abcd”和“ABCD”B)aa是指针变量,它指向含有两个数组元素的字符型一维数组C)aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址D)aa数组的两个元素中各自存放了字符‘a’和‘A’的地址若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写,则文件方式字符串应该是()。A)“ab+”B)“wb+”C)“rb+”D)“ab”二、写结果题:1.下面程序的运行结果是:#include<stdio.h>main(){inti=0,j=0;while(i10)i++;while(j++<10);printf(“i=%d,j=%d\n”,i,j);}结果:2.阅读下面的程序并回答问题。#include<stdio.h>main(){inta,b,m,n;scanf(“%d%d”,&a,&b);m=n=1;if(a>0〕m=m+n;if(a<b)n=2*m;elseif(a==b)n=5;e1sen=m+n;printf(“m=%dn=%d\n”,m,n);}(1)当输入为-1-2<回车>,程序的运行结果为(2)当输入为l0<回车>,程序的运行结果为(3)为了输出n=4,变量a和b应具备条件3.下面程序的运行结果为#include<stdio.h>voidmain(){intj,i,k=0;for(j=11;j<=30;j++){if(k%10==0)printf(“\n”);for(i=2;i<j;i++)if(!(j%i))break;if(i=j-1){printf(“%d\t”,j);k++;}}}结果:4.写出下面程序运行结果。#include<stdio.h>maiin(){intx=1;voidf1(),f2();f1();printf(“x=%d\t”,x);f2(x);printf(“x=%d\t”,x);}voidf1(){intx=3;printf(“x=%d\t”,x);}voidf2(intx){printf(“x=%d\t”,++x);}结果:三、程序填空题1.下面的程序输出3到100之间的所有素数。#tnclude<stdio.h>main(){inti,j;for(i=3;i<=100;i++){for(j=2;j<=i-1;j++)if(________)break;if(________)printf
本文标题:计算机二级C语言试卷
链接地址:https://www.777doc.com/doc-2097907 .html