期末考试C语言复习题含答案沈阳工程学院.docx
《期末考试C语言复习题含答案沈阳工程学院.docx》由会员分享,可在线阅读,更多相关《期末考试C语言复习题含答案沈阳工程学院.docx(25页珍藏版)》请在冰豆网上搜索。
![期末考试C语言复习题含答案沈阳工程学院.docx](https://file1.bdocx.com/fileroot1/2022-11/17/76681d16-0b73-47f4-ab6c-f98add500d14/76681d16-0b73-47f4-ab6c-f98add500d141.gif)
期末考试C语言复习题含答案沈阳工程学院
2011年期末考试C语言复习题
——沈阳工程学院
一、单项选择(每题2分,共20分)
1、下列C数据类型属于C语言提供的基本数据类型。
A、数组类型B、指针类型C、整型D、结构体类型
2、C语言程序中,下列B标识符是合法。
A、scanfB、str2C、5aD、His.age
3、已知inta,b;scanf(“%d%d”,&a,&b);程序运行输入a、b的值时,不能作为输入数据分隔符的是A。
A、逗号B、空格C、回车D、[Tab]
4、C语言对嵌套IF语句的规定是:
else总是和D配对。
A、其之前最近的IFB、第一个IF
C、缩进位置相同的IFD、其前面最近且尚未配对的IF
5、下面语句A是定义一个有10个INT整型元素的数组。
A、inta[10]B、inta[2,5]C、inta[]D、int*a[10]
6、已知charch[]=”welcome”;printf(“%d”,strlen(ch));输出结果是B。
A、6B、7C、8D、9
7、Fwirte函数的一般调用形式是D。
A、fwirte(buffer,count,size,fp);
B、fwrite(fp,size,count,buffer);
C、fwrite(fp,count,size,buffer);
D、fwrite(buffer,size,count,fp);
8、设inta=2,b;则执行b=a&&1;语句后,b的结果是b。
A、0B、1C、2D、3
9、在C程序中,设一表达式中包含有int,long,unsigned和char类型的变量和数据,则表达式最后的运算结果类型是d。
A、intB、charC、unsignedD、long
10、下面程序段的运行结果是b。
main()
{inta=11,b=10,c=0;
a/=b+(b&&c);a=a/b
printf(″%d\n″a);}
A、0B、1C、1.1D、11
11、两次运行下面程序,如果从键盘上分别输入6和4,则程序的输出结果是C。
main()
{intx;
scanf(″%d″,&x);
if(x++>5)printf(″%d″,x);
elseprintf(″%d\n″,x-1);}
A、7和5B、6和3C、7和4D、6和4
12、若定义intx[10];则TurboC编译系统为该数组分配c个字节存储单元。
2*10
A、10B、11C、20D、21
13、若有如下函数定义:
add(floatx,floaty)
{……}
则下列说法正确的是c。
A.函数返回值类型不确定B.函数返回值是float型
C.函数返回值是int型D.函数返回值是void型
14、对于int*pa[5];的描述,d是正确的。
A、pa是一个指向数组的指针,所指向的数组是5个int型元素
B、pa是一个指向某数组中第5个元素的指针,该指针是int型变量
C、pa[5]表示某个数组的第5个元素的值
D、pa是一个具有5个元素的指针数组,每一个元素是一个int型指针
15、对for(表达式1;;表达式3)可理解为___b_____。
A、for(表达式1;0;表达式3;)
B、for(表达式1;1;表达式3;)
C、for(表达式1;表达式1;表达式3;)
D、for(表达式1;表达式3;表达式3;)
16、若有说明:
inta[4][4]={0}
则下面不正确的是__A______。
A、数组a的每个元素都可得到初值0
B、二维数组a的第一维大小为1
C、因为二维数组a中第二维大小的值除以初值个数的商为1,故数组a的行数为1
D、只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0
17、若有说明:
intn=2,*p=&n,*q=p;,则以下非法的赋值语句是d。
A、p=q;B、*p=*q;C、n=*q;D、p=n;
18、若有以下说明和定义
typedefint*INTEGER;
INTEGERp,*q;
以下叙述正确的是D。
A、P是int型变量B、程序中可用INTEGER代替int类型名
C、q是基类型为int的指针变量D、p是基类型为int的指针变量
19、有以下程序
main()
{chara[]={‘a’,‘b’,‘c’,‘d’,‘e’,‘f’,‘g’,‘\0’};inti,j;
i=sizeof(a);j=strlen(a);
printf(“%d,%d\n”,i,j);
}
程序运行后的输出结果是b。
A、8,8B、8,7C、7,8D、9,8
20、在C程序中,可以把整型数以二进制形式存放到文件中的函数是A。
A、fprintf函数B、fread函数C、fwrite函数D、fputc函数
21、
22、设inta=2,b;则执行b=a&&1;语句后,b的结果是b。
A、0B、1C、2D、3
23、以下数组定义中不正确的是d。
A、inta[2][3];
B、intb[][3]={0,1,2,3};
C、intc[100][100]={0};
D、intd[3][]={{1,2},{1,2,3},{1,2,3,4}};
24、能正确表示a和b同时为正或同时为负的逻辑表达式是d。
A、(a>=0‖b>=0)&&(a<0‖b<0)
B、(a>=0&&b>=0)&&(a<0&&b<0)
C、(a+b>0)&&(a+b<=0)
D、a*b>0
25、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是b。
A、INPUTx,y,z;B、scanf("%d%d%d",&x,&y,&z);
C、scanf("%d%d%d",x,y,z);D、read("%d%d%d",&x,&y,&z);
26、在Turbo2.0中,若定义charc;.则变量c在内存中分配的字节数是a。
A、1个B、2个C、4个D、8个
27、在Turbo2.0中,若定义intc;.则变量c在内存中分配的字节数是b。
A、1个B、2个C、4个D、8个
28、在Turbo2.0中,若定义longc;.则变量c在内存中分配的字节数是c。
A、1个B、2个C、4个D、8个
29、以下运算符中优先级最高的是 c 。
A、&& B、+、-C、() D、%
31、以十六进制形式输出整数的格式说明符是 c 。
A、%uB、%ldC、%XD、%o
32、以八进制形式输出整数的格式说明符是 d 。
A、%uB、%ldC、%xD、%o
33、能正确表示逻辑关系:
“a≥10或a≤0”的C语言表达式是d。
A、a>=10ora<=0B、a>=10|a<=0
C、a>=10&&a<=0D、a>=10||a<=0
34、下列程序段的输出结果是c。
x=9;
while(x>7)
{printf("*");x--;}
A、****B、***
C、**D、*
35、C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是b。
A、地址传递B、单向值传递
C、双向值传递。
即由实参传给形参,再由形参传回给实参
D、由用户指定传递方式
36、以下正确的函数形式是d。
A、doublefun1(intx,inty)
{
z=x+y;
returnz;
}
B、fun1(intx,y)
{
intz;
returnz;
}
C、intfun1(x,y)
{
intx,y;
doublez;
z=x+y;
returnz;
}
D、doublefun1(intx,inty)
{
doublez;
z=x+y;
returnz;
}
37、C语言允许函数值类型缺省定义,此时该函数值隐含的类型是b。
A、float型B、int型C、long型D、double型
38、一个C语言程序是由b。
A、一个主程序和若干子程序组成
B、若干函数组成
C、若干过程组成
D、若干子程序组成
39、已知:
char*s="Name\Address";则s所指的字符串的长度为c。
A、18B、16C、13D、14
40、若有条件表达(exp)?
a++:
b--,则以下表达式中能完全等价于表达式(exp)的是b。
exp:
!
00
A、(exp==0)B、(exp!
=0)C、exp==1D、(exp!
=1)
41、以下程序有语法性错误,有关错误原因的正确说法是c。
voidmain(void)
{
intk;
voidprt_char();
……
k=prt_char(G);
……
}
A、语句voidprt_char();有错,它是函数调用语句,不能用void说明。
B、变量名不能使用大写字母。
C、函数原型说明和函数调用语句之间有矛盾。
D、函数名不能使用下划线。
42、若有如下定义,则下面在scanf函数调用语句中对结构体成员的引用不正确是a。
structpupil
{
charname[20];
intage;
intsex;
}pup[5],*p;
A、scanf("%d",p->age);
B、scanf("%s",pup[0].name);
C、scanf("%d",&pup[0].age);
D、scanf("%d",&(pup[1].sex));
43、若已有定义int(*p)();则指针pb。
A、代表函数的返回值
B、指向函数的入口地址
C、表示函数的类型
D、表示函数返回值的类型
44、若有语句:
inta=4,*p=&a;,下面均代表地址的一组选项是c。
A、a,p,&*aB、*&a,&a,*p
C、&a,p,&*pD、*&p,*p,&a
45、已知:
unsignedintx=65535;则执行以下语句后的x值为a。
printf("%d",x);
A、65535B、1C、无确定值D、-1
46、求字符串长度的函数是d。
A、strcatB、strcpyC、strcmpD、strlen
45.下述对C语言字符数组的描述中错误的是b。
A、字符数组可以存放字符串。
B、字符数组的字符可以整体输入、输出。
C、可以在赋值语句中通过赋值运算符"="对字符数组整体赋值。
D、可以用关系运算符对字符数组中的字符进行比较。
46、以下关于do-while循环的不正确描述是b。
A、do-while的循环体至少执行一次
B、do-while循环由do开始,用while结束,在while(表达式);后面不能写分号
C、在do-while循环体中,一定要有能使while后面表达式的值变为零("假")的操作
D、do-while的循环体可以是复合语句
47、以下选项中,与k=n++完全等价的表达式是a。
A、k=n