版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章测试1【单选题】(2分)一个C程序可能出现的有A.逻辑B.语法、逻辑、运行C.运行D.语法2【单选题】(2分)C程序中一般可以包含几个函数A.0个B.1个C.必须多于2个D.至少1个3【单选题】(2分)关于C语言,以下描述中的是A.C语言的注释符是以"/*"开始并以"*/"结束B.每个语句的最后必须有一个分号C.一个C程序可以包含多个main函数D.一个C程序总是从main函数开始执行4【单选题】(2分)逻辑是指A.在从obj生成exe文件的过程中,如果函数名书写,可能产生的B.在exe文件的执行过程中,产生运行异常C.所书写的语句,不符合C的语法D.程序的运行结果不正确5【单选题】(2分)计算机能直接执行的文件是A.扩展名为txt的文件B.扩展名为obj的文件C.扩展名为exe的文件D.扩展名为c的文件6【单选题】(2分)程序的运行结果不正确,这种属于A.语法B.逻辑C.连接D.编译7【单选题】(2分)在函数体中,关于数据定义语句和非数据定义语句(即执行语句)的位置,下面说法正确的是A.C99标准:所有数据定义语句必须在任何非数据定义语句的前面B.C89标准:所有数据定义语句必须在任何非数据定义语句的前面C.C89标准:没有要求D.C89标准:有些必须放在前面,有些可以放在后面8【单选题】(2分)在C语言程序中A.main函数可以放在其它函数的前面、后面或中间B.main函数只能出现在库函数中C.main函数必须放在程序的开始位置D.main函数必须放在程序的最后9【单选题】(2分)C语言属于程序设计语言的哪个类别?A.高级语言B.机器语言C.面向对象语言D.汇编语言10【单选题】(2分)下列选项中,属于多行注释的是A./**/B.\\C./*D.//11【单选题】(2分)以下四个程序中,完全正确的是A.include
intmain()
{
/*programming*/
printf("programming!\n");
return0;
}
B.
#include
intmain()
{
/*programming*/
printf("programming!\n");
return0;
}
C.
#include
intmain()
{
/*/*programming*/*/
printf("programming!\n");
return0;
}
D.#include
intmain();
{
/*/programming/*/
printf("programming!\n");
return0;
}
第二章测试1【单选题】(2分)以下哪个选项是合法的用户自定义标识符A.floatB.b-bC._iswD.123asd2【单选题】(2分)下面选项中,属于合法的字符常量的是A."\0"B.'\084'C.'ab'D.'\x43'3【单选题】(2分)下面几组代码正确的是A.constinta;a=1;B.constinta=1;C.intconsta=1;D.constinta;4【单选题】(2分)正确定义3个变量并为它们赋初值5的是A.intx=5,y=5,z=5;B.x=y=z=5;C.intx=y=z=5;D.intx,y,z=5;5【单选题】(2分)下面4个选项中,能使符号常量代表3的定义是A.#defineN3;B.#defineN=3C.defineN3D.#defineN36【单选题】(2分)设整数和实数的大小都不超过各自变量的存储范围,下面4种说法中,正确的是A.整数的存储都是精确的,实数的存储不都是精确的B.整数和实数的存储都不是精确的C.整数的存储都是精确的,实数的存储都不是精确的D.整数的存储不都是精确的,实数的存储都不是精确的7【单选题】(2分)下面4个选项中,全部都是合法整型常量的是A.-0x48A,2e5,0xB.-01,012,0668C.160,-0xffff,011D.-0xcdf,01A,0xe8【单选题】(2分)下面4个选项中,均不是合法浮点数的选项是A.160.,0.12,e3B.-e3,.234,1e3C.123,2e4.2,e5D.-.18,123e4,0.09【单选题】(2分)c是字符变量,关于语句“c='A'+'6'-3;”,下面说法正确的是A.无法执行B.执行后c的值是't'C.执行后c的值是68D.执行后c的值是'D'10【单选题】(2分)设有定义
charc='CHINA';
则下面说法正确的是A.c占用6个字节的内存B.c的有效字符个数是5C.其他说法都不正确D.c是一个字符串变量11【单选题】(2分)参与运算的对象必须是整数的运算符是A.%B./C.%和/D.*12【单选题】(2分)intx=10,y=3;
printf("%d,%d\n",x--,--y);
上面程序段的运行结果是
A.102B.10,2C.9,3D.10,313【单选题】(2分)chara='1',b='2';
printf("%c,",b++);
printf("%d\n",b-a);
数字0的ASCII码是48,上面程序段的运行结果是
A.2,50B.3,2C.50,2D.2,214【单选题】(2分)字符串"ab\108g"在内存中占的字节数是A.8B.5C.7D.615【单选题】(2分)表达式a*=b+c与下列哪个表达式等价A.其余都不对B.a=a*b+cC.a=a*b=b+cD.a=a*(b+c)16【单选题】(2分)若有定义
inta=10,c=2;constintb=5;
则以下赋值表达式正确的是A.a=(b+c)*6B.(a+b)=c*8C.b=10D.6=a17【单选题】(2分)设a、b都是int型变量,则表达式(a=1,a+=1,b=a,b*2,a+b)的值是A.4B.6C.其余都不对D.218【单选题】(2分)表达式('A'+0.32f)计算结果的类型是A.doubleB.intC.charD.float19【单选题】(2分)设有数据定义
charc1=65,c2=66;
inta1=1,a2=2;
floatx1=1.1,x2=2.2;
则下面四个选项中,系统不进行类型转换就能直接运算的是A.x1+x2B.a1+a2C.c1+c2D.c1+a1第三章测试1【单选题】(2分)charx=0xffff;
printf("%d\n",x--);
上面程序段的运行结果是
A.-32767B.-32768C.-1D.fffe2【单选题】(2分)doubled;
floatf;
longl;
inti;
i=f=l=d=20/3;
printf("%d,%1d,%.1f,%.1f,",i,l,f,d);
上面程序段的运行结果是
A.6,6,6.7,6.7B.6,6,6.0,6.0C.6,6,6.7,6.0D.6,6,6.0,6.73【单选题】(2分)unsigneda=65535;
printf("%d,%o,%x",a,a,a);
TC中整型变量占2个字节,则上面程序段的运行结果是
A.-1,177777,ffffB.65535,65535,65535C.-1,65535,ffffD.65535,177777,ffff4【单选题】(2分)关于putchar()的说法正确的是A.putchar()函数括号中可以写字符变量或常量,也可以写整型变量或常量B.putchar()可用于输出字符串C.其作用由用户向计算机输出一个字符D.putchar()不能对转义字符进行操作5【单选题】(2分)要从键盘给两个整型变量a、b输入数据,输入格式是1,2,能完成此任务的代码是A.scanf("%d,%d",&a,&b);B.getchar(a,b);C.scanf("%d%d",&a,&b);D.scanf("%d%d",a,b);6【单选题】(2分)想通过代码“scanf("%d%d,%d",&a,&b,&c);”把1、2、3分别存入3个整型变量a、b、c,则正确的键盘输入应该是A.123B.1,2,3C.123D.12,37【单选题】(2分)关于格式控制字符串%-m.ns,正确的说法是A.如果n>m,则只截取m个字符,其余的舍弃B.如果n<m<span="">,则字符串向右靠拢,左端补0</m<>C.m表示输出的字符串最少占m列,n为小数精度D.如果n>m,则截取n个字符输出,突破m的限制8【单选题】(2分)以下不属于格式控制字符的是A.%XB.%fC.%ED.%D9【单选题】(2分)a、b、c都是整型变量,用“scanf("%d%2d%*2d%d",&a,&b,&c);”给3个变量输入数据,设输入格式是12345678,则3个变量的值分别是A.12,34,56B.1,34,78C.1,34,7D.12,34,7810【单选题】(2分)charc1='1',c2='2';
c1=getchar();
c2=getchar();
上面的程序段运行时从键盘输入a,则正确的叙述是
A.c1被赋予字符a,c2无确定值B.c1被赋予字符a,c2被赋予换行符C.c1被赋予字符a,c2维持原值D.程序将等待输入第二个字符11【单选题】(2分)inti;
floatf;
scanf("i=%d,f=%f",&a,&f);
上面程序段准备把10和5.12分别存给i和f,正确的输入是()。
A.i=10,f=5.12B.i=10f=5.12C.105.12D.10<空格>5.1212【单选题】(2分)inta;
charb;
floatc;
scanf("%d%c%f",&a,&b,&c);
若上面程序段运行时键盘输入的字符序列为2223a123o.12,则a、b、c的值分别是
A.原值不变B.2223,a,123C.2223,a,123o.12D.2223,a,原值第四章测试1【单选题】(2分)inta=3,b=2,c=1,f;
f=a>b>c;
上面程序段执行后,f的值是
A.不确定B.1C.0D.22【单选题】(2分)#include
voidmain()
{
inta=1,b=2,m=0,n=0,k;
k=(n=b>a)||(m=a<b);
printf("%d,%d",k,m);
}
</b);
上面程序的运行结果是
A.0,0B.0,1C.1,1D.1,03【单选题】(2分)以下四个选项中,执行完程序段后y的值不为3的是A.intx=0,y=0;if(x=y)y=3;B.intx=5,y=2;if(x)y=3;C.intx=5,y=2;if(2)y=3;D.intx=0,y=2;if(x=y)y=3;4【单选题】(2分)inta=2,b=-1,c=2;
if(a<b)
if(b<0)
c=0;
elsec++;
</b)
上面的程序段执行后,c的值是
A.1B.2C.3D.05【单选题】(2分)intx=10,y=20,z=30;
if(x>y)
z=x;x=y;y=z;
上面代码段执行后,x,y,z的值是
A.20,30,10B.20,10,10C.20,30,30D.10,20,306【单选题】(2分)逻辑运算符中,运算优先级按从高到低正确排序的是A.!||&&B.!&&||C.&&!||D.||&&!7【单选题】(2分)以下是if语句的基本形式:
if(表达式)语句
其中“表达式”A.可以是任意合法的表达式B.必须是关系表达式C.必须是逻辑表达式或关系表达式D.必须是逻辑表达式8【单选题】(2分)若有表达式(!w)?(--x):(++y),则下列选项中与其等价的表达式是A.(w!=1)?(--x):(++y)B.(w==0)?(--x):(++y)C.(w!=0)?(--x):(++y)D.(w==1)?(--x):(++y)9【单选题】(2分)intw='b',x=14,y=15;
w=((x||y)&&(w<'a'));
执行上面程序段后,w的值为
A.NULLB.-1C.1D.010【单选题】(2分)if((x=y=2)>=x&&x=5)
y*=x;
上面程序段执行后,整型变量x、y的值分别是
A.存在语法B.5、10C.2、4D.5、211【单选题】(2分)intx,y;
scanf("%d%d",&x,&y);
if(x>y)
x=y;y=x;
else
x++;y++;
printf("%d,%d",x,y);
关于上面程序段,下列说法正确的是
A.若输入“43”,输出“4,4”B.若输入“34”,输出“4,5”C.有语法D.若输入“43”,输出“3,4”12【单选题】(2分)1.#include
2.intmain()
3.{
4.intm;
5.printf("Inputm:");
6.scanf("%d",&m);//输入一个整数
7.if(m>0)//是否为正数
8.{
9.if(m%2==0)//是正数,且能被2整除,则是正偶数
10.{
11.printf("%disapositiveeven\n",m);
12.}
13.else//不能被2整除,则是正奇数
14.{
15.printf("%disapositiveodd\n",m);
16.}
17.}
18.
19._______________//判断是否为负数
20.
21.{
22._______________
23.
24.{
25.printf("%disanegativeeven\n",m);//是负偶数
26.}
27.else
28.{
29.printf("%disanegativeodd\n",m);//是负奇数
30.}
31.}
32.else
33.{
34.printf("%diszero.Itisaneven\n",m);
35.}
36.return0;
37.}
上面程序代码的功能是判断输入整数的正负性和奇偶性,请将第19行和22行标号处缺少的代码填写完整
A.第19行代码:if(m<0)
第22行代码:if(m%2!=0)
B.第19行代码:elseif(m<0)
第22行代码:if(m%2==0)C.第19行代码:elseif(m<0)
第22行代码:if(m%2!=0)D.第19行代码:if(m<0)第22行代码:if(m%2==0)
13【单选题】(2分)以下程序段中,与语句:k=a>b?(b>c?1:0):0;功能相同的是A.if((a>b)||(b>c))k=1;elsek=0;B.if(a<=b)k=0;elseif(b<=c)k=1;C.if((a>b)&&(b>c))k=1;elsek=0;D.if(a>b)k=1;elseif(b>c)k=1;elsek=0;14【单选题】(2分)intx=1,a=0,b=0;
switch(x)
{
case0:b++;
case1:a++;
case2:a++;b++;
}
上面程序段执行后,a,b的值分别是
A.2,1B.2,2C.1,0D.1,115【单选题】(2分)intx=1,y=2,z=3;
switch(x=1){
case1:
switch(y==2){
case1:printf("*");break;
case2:printf("%");break;
}
case0:
switch(z){
case1:printf("$");break;
case2:printf("&");break;
default:printf("#");
}
}
上面程序段的运行结果是
A.$B.%#C.*$D.*#第五章测试1【单选题】(2分)对于while语句,的说法是A.循环体有可能一次也不执行B.可以用条件控制循环体的执行次数C.循环体至少要执行一次D.循环体可以是包含若干条语句的复合语句2【单选题】(2分)对于整型变量x,与while(!x)等价的是A.while(x!=0)B.while(x!=1)C.while(x==1)D.while(x==0)3【单选题】(2分)以下描述正确的是A.do-while循环中,根据情况可以省略whileB.do-while循环由do开始,用while结束,在while(表达式)后面必须写分号C.由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句D.在do-while循环体中,一定要有能使while后面表达式的值变成零("假")的操作4【单选题】(2分)#include
intmain()
{
intx,i;
for(x=3;x<=100;x++){
if(x%2==0)_____;
for(i=2;i<=x-1;i++)
if(x%i==0)_____;
if(i==x)printf("%d",x);
}
return0;
}
上面程序的功能是找出3~100间的素数,程序中所缺的两处应为A.breakbreakB.breakcontinueC.continuebreakD.continuecontinue5【单选题】(2分)设变量已正确定义,下面程序中能计算f=n!的是A.f=1;for(i=n;i>1;i++)f*=i;B.f=1;for(i=1;iC.f=0;for(i=1;i<=n;i++)f*=i;D.f=1;for(i=n;i>=2;i--)f*=i;6【单选题】(2分)#include
intmain()
{
intx,s=0;
for(x=1;x<=5;x++){
switch(x%3){
case0:
default:s+=3;
case1:s+=1;break;
case2:s+=2;
}
}
printf("%d",s);
return0;
}
上面程序的运行结果是A.13B.10C.7D.67【单选题】(2分)#include
intmain()
{
inti,j;
for(i=3;i>=1;i--)
{
for(j=1;j<=2;j++)
printf("%d",i+j);
printf("");
}
return0;
}
上面程序的运行结果是A.453423B.432543C.234345D.2334458【单选题】(2分)#include
intmain()
{
inti=10,x=0;
for(;i<10;i++)
x=x+i;
printf("%d",x);
return0;
}
上面程序运行后,循环体运行的次数为A.1B.10C.无限D.09【单选题】(2分)以下不是死循环的是A.for(k=10;;k--)sum=sum+k;B.for(;(c=getchar())!='\n';)printf("%c",c);C.while(1){x++;}D.for(;;x+=k);10【单选题】(2分)以下正确的说法是A.只能在循环体内和switch语句内使用break语句B.在循环体内使用break和continue的作用相同C.从多层循环嵌套内退出时,只能使用goto语句D.continue语句的作用是结束整个循环的执行11【单选题】(2分)有关for语句正确的是A.for循环是先执行循环体语句,后判断表达式B.只用于循环次数已经确定的情况C.for语句的循环体只能是一条语句D.for循环中,不能用break跳出循环体12【单选题】(2分)#include
intmain()
{
inti=1,n=1;
for(;i<3;i++)
{
continue;
n=n+i;
}
printf("%d",n);
return0;
}
上面程序运行后,变量n的值为A.1B.4C.3D.213【单选题】(2分)#include
intmain()
{
intx,s;
for(x=0,s=0;x<=10;x++)
{
if(x%3==0)
continue;
else
{
if(x%4==0)
continue;
elses+=x;
if(s%5==0)break;
}
}
printf("%d",s);
return0;
}
上面程序的运行结果是A.35B.5C.25D.1514【单选题】(2分)#include
intmain()
{
intx=012;
do
printf("%d",x--);
while(--x);
return0;
}
上面程序的运行结果是A.86420B.108642C.8642D.1086415【单选题】(2分)#include
intmain()
{
ints=0,i=5;
while(s+=i,i-=2)
printf("%d",s);
return0;
}
上面程序的运行后,循环的执行次数是A.9B.15C.5D.死循环第六章测试1【单选题】(2分)fun(floatx)
{
floaty;
longz;
y=x*x;
z=(long)y;
return(z);
}
上面fun函数的类型是A.voidB.floatC.longD.int2【单选题】(2分)以下正确的函数声明形式是A.doublefun(intx;inty);B.doublefun(x,y);C.doublefun(intx,inty);D.doublefun(intx,y);3【单选题】(2分)有以下函数定义:voidfun(intn,doublex){…},若以下选项中的变量都已经正确定义且赋值,则对函数fun的正确调用语句是A.k=fun(10,12.5);B.fun(inty,doublem);C.voidfun(n,x);D.fun(10,12.5);4【单选题】(2分)#include
inta,b;
voidswap()
{
intt;
t=a;a=b;b=t;
}
intmain()
{
scanf("%d,%d",&a,&b);
swap();
printf("a=%d,b=%d\n",a,b);
return0;
}
假设用户输入5,3,上面程序的运行结果是A.a=3,b=5B.5,3C.3,5D.a=5,b=35【单选题】(2分)#include
voidfun(inta,intb,intc)
{
a=456;
b=567;
c=678;
}
intmain()
{
intx=10,y=20,z=30;
fun(x,y,z);
printf("%d,%d,%d\n",x,y,z);
return0;
}
上面程序的运行结果是A.678567456B.10,20,30C.456567678D.30,20,106【单选题】(2分)#include
voidf(intx)
{}
intmain()
{
inta=1;
f(a);
return0;
}
若有上面的程序,其中正确的是A.x是形参,a是形参B.x是实参,a是实参C.x是实参,a是形参D.x是形参,a是实参7【单选题】(2分)以下不正确的说法是,C语言规定A.实参可以是常量、变量或表达式B.实参个数与其对应的形参个数必须相等C.形参可以是常量、变量或表达式D.实参应与其对应的形参类型一致或者兼容8【单选题】(2分)#include
longfib(intg)
{
switch(g)
{
case0:return0;
case1:
case2:return1;
}
return;
}
intmain()
{
longk;
k=fib(7);
printf("k=%ld\n",k);
}
上面的程序用递归定义的方法实现求菲波拉契数列1、1、2、3、5、8……第7项的值为fib(7),请将程序补充完整.A.fib(7)B.fib(g-1)+fib(g-2)C.fib(g)+fib(g)D.fib(g)+fib(g-1)9【单选题】(2分)以下对函数的描述中正确的是A.函数必须有返回值,否则不能使用函数B.自定义函数不可以去调用主函数C.调用函数时,只能把实参值传给形参,形参值不能传给实参D.函数既可以嵌套定义又可以嵌套调用10【单选题】(2分)若调用一个函数,且此函数中没有return语句,则正确的说法是该函数A.返回一个不确定的值B.返回若干个系统默认值C.没有返回值D.返回一个用户所希望的函数值11【单选题】(2分)#include
intfun(intn)
{
if(n==1)
return1;
else
return(n+fun(n-1));
}
intmain(){
intx;
scanf("%d",&x);
x=fun(x);
printf("%d",x);
return0;
}
若输入10,上面的程序运行结果是A.54B.45C.55D.6512【单选题】(2分)函数调用时,若实参是变量,则实参和它对应的形参之间的传递方式是A.双向传递B.由实参传给形参,再由形参传回给实参C.单向传递D.由用户指定的传递方式13【单选题】(2分)C语言允许函数值类型缺省定义,此时该函数值隐含的类型是A.float型B.int型C.long型D.double型14【单选题】(2分)关于C语言函数的描述中,正确的是A.函数的定义不可以嵌套,但函数的调用可以嵌套B.函数的定义可以嵌套,但函数的调用不可以嵌套C.函数的定义和函数的调用都可以嵌套D.函数的定义和函数的调用都不可以嵌套第七章测试1【单选题】(2分)若在一个函数的复合语句中定义了一个变量,则该变量A.只在该复合语句中有效B.在该函数中有效C.定义非法D.在本源文件范围内有效2【单选题】(2分)某源文件中定义了一个全局变量,其作用范围是A.不知道有无声明,所以不确定B.所有源文件C.从定义处到本源文件结束D.整个源文件的范围3【单选题】(2分)在函数体中定义的局部变量,其作用范围是A.定义它的源文件内B.定义它的大括号内C.所有源文件D.定义它的函数内4【单选题】(2分)函数形参的声明不在任何大括号内,关于形参,下列说法正确的是A.形参是全局变量B.形参只是一个符号,不表示变量C.形参是静态局部变量D.形参是动态局部变量5【单选题】(2分)函数中未指定存储类型的局部变量,其存储类型是A.staticB.externC.autoD.register6【单选题】(2分)关于静态局部变量,正确的说法是A.其他几种说法都不对B.程序装载时分配空间,程序结束时才释放空间C.从分配空间到程序结束,它一直存在,期间在任何地方都可以使用它D.执行到它的作用域时分配空间,离开它的作用域时释放空间7【单选题】(2分)定义了一个变量但未赋初值,关于它的初值,下面说法正确的是A.若是static型的全局变量,为0;若是extern型的全局变量,则不确定B.若是动态存储,则为0;若是静态存储,则不确定C.若是静态局部变量,则为0;若是自动变量或寄存器变量,则不确定D.若是全局变量,则为0;若是局部变量,则不确定8【单选题】(2分)关于全局变量的生存期,下面说法正确的是A.从程序装载到程序运行结束
B.从源文件开始执行到源文件执行结束C.取决于它定义的位置D.取决于它所在的函数9【单选题】(2分)若全局变量定义时未规定属性,则它的属性是A.registerB.staticC.autoD.extern10【单选题】(2分)#include
inta=2,b=3;
intmax(inta,intb)
{
intc;
c=a>b?a:b;
printf("%d",c);
returnc;
}
intmain()
{
inta=4;
max(a,b);
printf("%d",max(a,b));
return0;
}
上面程序的运行结果是
A.24B.4C.34D.44411【单选题】(2分)intfac(intn)
{
staticintf=1;
f*=n;
returnf;
}
intmain()
{
inti,n;
for(i=1;i<=5;i++)
n=fac(i);
printf("%d",n);
return0;
}
上面程序的运行结果是
A.24B.120C.100D.512【单选题】(2分)根据变量的作用域将变量分为A.自动变量和临时变量B.自动变量和寄存器变量C.全局变量和局部变量D.静态变量和动态变量13【单选题】(2分)全局变量和局部静态变量分配空间的时机是
A.执行到作用域的时候B.主函数结束时C.主函数执行时D.装载exe文件时14【单选题】(2分)下列变量在程序运行过程中不占内存空间的是A.静态局部变量B.寄存器变量C.自动局部变量D.全局变量15【单选题】(2分)下面哪种类别的变量允许在其它源文件中使用?A.registerB.staticC.autoD.extern第八章测试1【单选题】(2分)下面说法的是A.宏展开不会出现编译B.宏展开只是简单地文字替换C.宏展开不会进行数据类型的判别D.宏展开能发现宏定义中的2【单选题】(2分)设有宏定义
#definePI3.14159
在宏展开时,3.14159会被认为是A.双精度实数B.单精度实数C.7个文字符号D.字符串3【单选题】(2分)文件包含时,可以用<>也可以用""将被包含文件括起来,下面说法正确的是A.能用<>的不能用"",反之亦然B.能用<>的一般也可以用""C.两者作用相同D.能用""的一般也可以用<>4【单选题】(2分)文件包含命令中若用<>包括被包含的文件,表示A.既到系统设定的目录中查找,又到本源文件所在目录查找B.其他几种说法都不对C.要到本源文件所在的目录中查找它D.到系统设定的包含目录中查找它5【单选题】(2分)若有宏定义
#defineN2+1
则printf("%d",N*(N+1))的输出结果是A.6B.8C.5D.126【单选题】(2分)有一种方法可以避免一个文件的内容被包含两次或以上,该方法除了文件包含命令外,还需要使用A.宏定义和分支结构B.宏定义和条件编译C.宏定义D.条件编译7【单选题】(2分)下面关于条件编译的说法,正确的是A.若一个程序既能写成条件编译,又能写成分支结构,则用条件编译写成的源程序比用分支结构写成的源程序将来生成的可执行文件更短B.条件编译就是在正式编译时,根据条件选择一部分代码留下参与编译,另一部分舍弃C.条件编译就是在程序执行时,根据条件选择一部分代码执行D.条件编译两个分支中若都有代码,则这两部分代码都要参加编译8【单选题】(2分)若有定义
#defineM(n)a=n*2
inta;
则printf('%d',M(5+1)*3)的输出结果是A.11B.36C.21D.其他答案都不对第九章测试1【单选题】(2分)下面四段程序中,能正确输出变量a的值的是A.inta=1,*p=&a;printf("%d",*p);B.inta=1,*p=a;printf("%d",*p);C.inta=1,*p;*p=&a;printf("%d",*p);D.inta=1,*p;
*p=a;
printf("%d",*p);2【单选题】(2分)要定义两个指针变量,下面代码正确的是A.int*(p1,p2);B.int*p1,p2;C.int*p1,*p2;D.int*p1,int*p2;3【单选题】(2分)若有定义:
int*p;
则以下说法正确的是A.变量名为*pB.变量类型为intC.变量基类型为int*D.变量名为p4【单选题】(2分)若有定义
intx,*p;
则能使p指向x的表达式是A.*p=xB.p=*xC.p=&xD.p=x5【单选题】(2分)若有定义:
int*p,a=1,b;
则以下正确的程序段是A.p=&b;
scanf("%d",p);B.p=&b;
scanf("%d",&p);C.p=&b;
scanf("%d",*p);D.scanf("%d",&b);
*p=b;6【单选题】(2分)若有定义:
inta=511,*b=&a;
则printf("%d\n",*b)的输出结果为A.b的地址B.不确定值C.a的地址D.511第十章测试1【单选题】(2分)以下对一维数组a的定义中正确的是A.inta[0..100];B.chara(10);C.intk=10;inta[k];D.inta[5];2【单选题】(2分)以下对一维数组的定义中不正确的是A.charch2[]={'\x10','\xa','\x8'};B.doublex[5]={2.0,4.0,6.0,8.0,10.0};C.inty[5]={0,1,3,5,7,9};D.charch1[]={'1','2','3','4','5'};3【单选题】(2分)以下对二维数组的定义中正确的是A.inta[][3]={1,2,3,4,5,6};B.inta[4][]={1,2,3,4,5,6};C.inta[][3];D.inta[][]={{1,2,3},{4,5,6}}4【单选题】(2分)假定一个int型变量占用两个字节,若有定义:intx[10]={0,2,4};则数组x在内存中所占字节数是A.6B.3C.10D.205【单选题】(2分)#include
intmain()
{
inta[4][4]={{1,3,5},{2,4,6},{3,5,7}};
printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0]);
}
上面程序的运行结果是A.输出值不定B.5430C.1470D.06506【单选题】(2分)#include
intmain()
{
intm[][3]={1,4,7,2,5,8,3,6,9};
inti,j,k=2;
for(i=0;i<3;i++){
printf("%d",m[k][i]);
}
return0;
}
上面程序的运行结果是A.369B.789C.456D.2587【单选题】(2分)#include
intmain()
{
intb[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=0;
for(i=0;i<3;i++)
for(j=i;j<=i;j++)
t=t+b[i][b[j][j]];
printf("%d\n",t);
return0;
}
上面程序的输出结果是A.4B.9C.3D.18【单选题】(2分)若有定义:inta[2][4];,则引用下标变量正确的是A.a[0][4]B.a[2][2+1]C.a[2][2]D.a[0][3]9【单选题】(2分)若有定义:intaa[8];,则不能代表数组元素aa[1]地址的是A.&aa[0]++B.&aa[1]C.&aa[0]+1D.aa+110【单选题】(2分)若二维数组y有m列,则排在y[i][j]前的元素个数为A.j*m+iB.i*m+jC.i*m+j-1D.i*m+j+111【单选题】(2分)若定义一个名为s且初值为"123"的字符数组,则下列定义的是A.chars[]={"123"};B.chars[]={’1','2','3','\0'}C.chars[]={"123\n"};D.chars[4]={'1','2','3'}12【单选题】(2分)下列描述中不正确的是A.可以对字符串进行整体输入、输出B.字符型数组中可以存放字符串C.可以对整型数组进行整体输入、输出D.不能在赋值语句中通过赋值运算符"="对字符型数组进行整体赋值13【单选题】(2分)printf("%d\n",strlen("school"));以上printf语句的输出结果是A.不定值B.存在语法C.7D.614【单选题】(2分)若有语句:chars1[10],s2[10]="books";,则能将字符串books存入数组s1的语句是A.strcpy(s2,s1)B.s1="books"C.strcpy(s1,s2);D.s1=s215【单选题】(2分)若有定义inta[3][4];,则能输入其第3行第2列元素的正确语句为A.scanf("%d",*(a+2)+1)B.scanf("%d",*(a[2]+1))C.scanf("%d",a[3,2])D.scanf("%d",*(*(a+2)+1))16【单选题】(2分)设有定义:chars[12]="string";则printf("%d",strlen(s));的输出结果是A.11B.6C.7D.1217【单选题】(2分)语句printf("%d",strlen("abs\no12\1\\"));的输出结果是A.10B.9C.8D.1118【单选题】(2分)语句strcat(strcpy(str1,str2),str3);的功能是A.将字符串str2连接到字符串str1后再将字符串str1复制到字符串str3中。B.将字符串str1复制到字符串str2中后再连接到字符串str3之后C.将字符串str2复制到字符串str1后再将字符串str3连接到字符串str1之后D.将字符串str1连接到字符串str2中后再复制到字符串str3之后19【单选题】(2分)若有如下定义:charx[]="abcdefg";chary[]={'a','b','c','d','e','f','g'};,则正确的叙述为:A.数组x的长度大于数组y的长度B.数组x和数组y等价C.数组x和数组y的长度相同D.数组y的长度大于数组x的长度第十一章测试1【单选题】(2分)若有语句int*point,a=4;和point=&a;下面均代表地址的一组选项是A.*&point,*point,&aB.a,point,*&aC.&*a,&a,*pointD.&a,&*point,point2【单选题】(2分)有以下程序段
inta[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b;
b=p[5];
执行后b中的值是A.8B.9C.6D.53【单选题】(2分)inta[7],*p=a;若有以上定义,则p+5表示A.元素a[6]的地址B.元素a[5]的地址C.元素a[6]的值D.元素a[5]的值4【单选题】(2分)设已有定义:inta[10]={15,12,7,31,47,20,16,28,13,19},*p;则下列语句中正确的是A.for(p=a,a=a+10;p<a;p++);<span=""></a;p++);<>B.for(p=a;a<(p+10);a++);C.for(p=a;a<=""span="">D.for(p=a;p<(a+10);p++);5【单选题】(2分)#include
intmain()
{
intx[]={10,20,30};
int*px=x;
printf("%d,",++*px);printf("%d,",*px);
px=x;
printf("%d,",(*px)++);printf("%d,",*px);
px=x;
printf("%d,",*px++);printf("%d,",*px);
px=x;
printf("%d,",*++px);printf("%d\n",*px);
return0;
}
上面程序运行后的输出结果是A.20,10,11,20,11,12,20,20B.11,11,11,12,12,13,20,20C.20,10,11,10,11,10,11,10D.11,11,11,12,12,20,20,206【单选题】(2分)#include
intmain()
{
intarr[]={6,7,8,9,10};
int*ptr;
ptr=arr;
*(ptr+2)+=2;
printf("%d,%d\n",*ptr,*(ptr+2));
return0;
}
上面程序的运行结果为A.8,10B.6,10C.7,9D.6,87【单选题】(2分)#include
#include
intmain()
{
char*s1="AbDeG";
char*s2="AbdEg";
s1+=2;
s2+=2;
printf("%d\n",strcmp(s1,s2));
return0;
}
上面程序的运行结果是A.负数B.正数C.不确定的值D.零8【单选题】(2分)有以下定义
chara[10],*b=a;
不能给数组a输入字符串的语句是A.gets(b)B.gets(&a[0])C.gets(a[0])D.gets(a)9【单选题】(2分)char*s="abcde";
s+=2;printf("%d",s);
上面程序段的运行结果是A.cdeB.字符'c'C.无确定的输出结果D.字符'c'的地址10【单选题】(2分)#include
intmain()
{
chara[]="programming",b[]="language";
char*p1,*p2;
inti;
p1=a;
p2=b;
for(i=0;i<7;i++)
if(*(p1+i)==*(p2+i))
printf("%c",*(p1+i));
return0;
}
上面程序输出结果是A.orB.rgC.gaD.gm11【单选题】(2分)若有说明语句
chara[]="Itismine";
char*p="Itismine";
则以下不正确的叙述是A.p变量中存放的地址值可以改变B.p指向另外的字符串时,字符串的长度不受限制C.a中只能存放10个字符D.a+1表示的是字符t的地址第十二章测试1【单选题】(2分)intf(intb[][4])
{
inti,j,s=0;
for(j=0;j<4;j++)
{
i=j;
if(i>2)i=3-j;
s+=b[i][j];
}
returns;
}
intmain()
{
inta[4][4]={{1,2,3,4},{0,2,4,5},{3,6,9,12},{3,2,1,0}};
printf("%d\n",f(a));
return0;
}
执行后的输出结果是A.11B.16C.12D.182【单选题】(2分)若有以下函数首部
intfun(doublex[10],int*n)
则下面针对此函数的函数声明语句中正确的是A.intfun(double,int)B.intfun(double*x,intn);C.intfun(double*,int*);D.intfun(doublex,int*n);3【单选题】(2分)voidsum(int*a)
{
a[0]=a[1];
}
intmain()
{
intaa[10]={1,2,3,4,5,6,7,8,9,10},i;
for(i=2;i>=0;i--)sum(&aa[i]);
printf("%d\n",aa[0]);
return0;
}
上面程序的运行结果是A.4B.2C.1D.34【单选题】(2分)intmain()
{
chara;
char*str=&a;
strcpy(str,"hello");
printf(str);
return0;
}
上面程序的运行结果是A.hB.hellC.NullD.发生异常5【单选题】(2分)voidprint(char*s)
{
printf("%s",s);
}
intmain()
{
char*p,*q;
charstr[]="Hello,World\n";
q=p=str;
p++;
print(q);
print(p);
return0;
}
上面程序的运行结果是A.Hello,WorldHello,WorldB.H
eC.Hello,Worldello,WorldD.ello,Worldell,World6【单选题】(2分)下面选项属于函数指针的是:A.两者都是B.int*p(int,int);C.(int*)p(int,int);D.两者都不是7【单选题】(2分)若有函数max(a,b),并且已使函数指针变量p指向函数max,当调用该函数时,正确的调用方法是A.*pmax(a,b);B.(*p)(a,b);C.*p(a,b);D.(*p)max(a,b);8【单选题】(2分)对于语句int*pa[5];下列描述中正确的是A.pa是一个指向某数组中第5个元素的指针,该元素是int型变量B.pa是一个指向数组的指针,所指向的数组是5个int型元素C.pa是一个具有5个元素的指针数组,每个元素是一个int型指针D.pa[5]表示某个元素的第5个元素的值9【单选题】(2分)若有以下说明和语句,intc[4][5],(*p)[5];p=c;能正确引用下标变量的是A.*(p[0]+2))B.p+1C.*(p+1)+3D.*(p+3)10【单选题】(2分)若有定义:inta[2][3];则对a数组的第i行j列元素地址的正确引用为A.*(a+j)B.a[i]+jC.(a+i)D.*(a[i]+j)11【单选题】(2分)设已有定义:char*st="howareyou";下列程序段中正确的是A.chara[11],*p;strcpy(p=a+1,&st[4]);B.chara[11];strcpy(a,st);C.chara[11];strcpy(++a,st)D.chara[],*p;strcpy(p=&a[1],st+2);12【单选题】(2分)设变量p1和p2指向同一个字符串的首字母,c为字符变量,则以下不能正确执行的赋值语句是A.p1=p2;B.c=*p1*(*p2);C.c=*p1+*p2;D.p2=c;13【单选题】(2分)以下正确的程序段是A.charstr[20],*p=str;scanf("%s",p[2]);B.charstr[20],*p=str;scanf("%s",*p);C.char*p;scanf("%s",p);D.charstr[20];scanf("%s",&str[2]);14【单选题】(2分)int**pp;int*p,a=1;p=&a;能够将pp指向变量p的代码是A.pp=*p;B.pp=&p;C.*pp=p;D.pp=p;15【单选题】(2分)已定义以下函数
intfun(int*p)
{
return*p;
}
该函数的返回值是A.形参p所指存储单元中的值B.形参p中存放的值C.不确定的值D.形参p的地址值第十三章测试1【单选题】(2分)下列对结构类型变量不正确的定义是A.struct{
intnum;
intage;}teacher1,teacher2;B.structteacher{
intnum,age;
}a;C.structteacher{
intnum;
intage;
}teacher1;D.struct{
intnum;
intage;
}teacher2【单选题】(2分)设有以下定义语句:structstudent{intnum;charname[10];floatscore;}wang,zhang;,则变量wang所占的内存字节数是()(注:在VC环境下要考虑内存对齐规则)A.20B.10C.18D.243【单选题】(2分)假设有如下的定义:
struct{
intn;
charc;
floatf;
}rec;
则以下各个输入语句中,正确的是A.scanf("%f",&rec);B.scanf("%c",&rec.c);C.scanf("%s",&rec.c);D.scanf("%d",rec);4【单选题】(2分)#include
structabc{
inta,b,c;
};
intmain()
{structabcs[2]={{1,2,3},{4,5,6}};
intt;
t=s[0].a+s[1].b;
printf("%d\n",t);
return0;
}
上面程序的输出结果是A.5B.7C.8D.65【单选题】(2分)有以下说明和定义语句
structstudent{
intage;
charnum[8];
};
structstudentstu[3]={{20,"200401"},{21,"200402"},{19,"200403"}};
structstudent*p=stu;
以下选项中引用结构体变量成员的是A.stu[2]->ageB.(p++)->numC.(*p).numD.p->num6【单选题】(2分)structperson{
charname[9];
intage;
};
structpersonclass[10]={"John",17,"Paul",19,"Mary",18,"Adam",16};
根据上面的定义,能打印出字母M的语句是A.printf("%c\n",class[3].name[1]);B.printf("%c\n",class[3].name);C.printf("%c\n",class[2].name[0]);D.printf("%c\n",class[2].name[1]);7【单选题】(2分)若有以下程序段:
structst{
intn;
int*m;
};
inta=2,b=3,c=5;
structsts[3]=({101,&a},{102,&b},{103,&c});
intmain(){
structst*p;
p=s;
...
}
则以下表达式中值为5的是A.*((p+2)->n)B.*((p+2).m)C.((p+2)->m)D.*((p+2)->m)8【单选题】(2分)union{
shortm;
chara[8];
}a,*p=&a;
a.m=100;
a.a[0]='A’;
p->a[1]=1;
printf("%d,%d",sizeof(a),a.m);
上面程序的运行结果是A.8,321B.8,65C.10,100D.8,1009【单选题】(2分)以下对共用体类型数据的描述中,的是A.同一个共用体变量中,各成员的首地址是不相同的B.在定义共用体变量的同时允许对它的第一个成员进行初始化C.共用体变量所占的内存大小,等于占用内存最多的成员所占的内存大小D.共用体类型的定义可以出现在结构类型定义中10【单选题】(2分)intmain()
{
structcmplx{intx;inty;}
cnum[2]={1,3,2,7};
printf("%d\n",cnum[0].y/cnum[0].x*cnum[1].x);
return0;
}
上面程序的输出是A.6B.3C.1D.011【单选题】(2分)#include
unionutype{
inti;
floatf;
}u[2];
intmain(){
printf("%d\n",sizeof(u));
return0;
}
在VC环境下上面程序的运行结果是A.8B.6C.16D.412【单选题】(2分)unionU{
shorta;
charb[4];
}u;
u.b[0]=2;
u.b[1]=1;
u.b[2]=3;
printf('%
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 博观研究院2026年中国运动营养市场分析报告
- 2026年一级建造师执业资格考试(公路工程管理与实务)综合能力测试题及答案(云南省)
- 2026年无锡一级建造师执业资格考试(公路工程管理与实务)综合能力测试题及答案
- 2026年湖南政工专业职称考试(马克思主义中国化时代化成果)练习题及答案
- 2026春人教版四年级下册数学期末易错题专项训练试卷含答案
- 抗肿瘤药物护理研究进展
- 新疆维吾尔自治区喀什地区2025-2026学年七年级上学期期末语文试题(解析版)
- 护理专业技能深化课程
- 2026年湖北省武汉市中考模拟化学试卷(含答案)
- 护理实习课件资源
- 2026湖北交投宜昌高速公路运营管理有限公司一线工作人员招聘考试备考试题及答案解析
- 2026年二级建造师市政实务真题及答案解析完整版
- 2026年北京市西城区初三二模英语试卷(含答案)
- 雨课堂学堂在线学堂云《自然辩证法概论( 武汉科技大)》单元测试考核答案
- 锐角三角函数(第二课时)(导学案)-九年级数学下册同步备课系列(人教版)
- 瓦斯超限分析报告
- 肉鸭营养需要量 编制说明
- 2020全国新高考语文I卷《大师(节选)》试题及答案
- 2023年05月南方医科大学校本部公开招聘8名专业技术人员笔试题库含答案解析
- 人教版三年级数学上册《数字编码》
- 物理中考150个易错点
评论
0/150
提交评论