C语言期末复习练习题.docx
- 文档编号:12336396
- 上传时间:2023-04-18
- 格式:DOCX
- 页数:18
- 大小:21.66KB
C语言期末复习练习题.docx
《C语言期末复习练习题.docx》由会员分享,可在线阅读,更多相关《C语言期末复习练习题.docx(18页珍藏版)》请在冰豆网上搜索。
C语言期末复习练习题
C语言期末复习练习题
一、选择题
1).能直接执行的程序是机器语言程序,在机器内部以形式表示。
A)条形码B)拼音码C)内码D)二进制码
2).以下叙述中不正确的是________。
A)在函数中,通过return语句传回函数值
B)在函数中,可以有多个return语句
C)在C中,函数的调用必需在一条独立的语句中完成
D)在C中,main后的一对圆括号中也可以带有形参
3).若一个外部变量的定义形式为staticintx;其中static的作用是________。
A)将变量存放在静态存储区,使x的值可以永久保留
B)使变量x可以由系统自动初始化
C)使x的值可以永久保留
D)使x只能在本文件内引用
4).已知:
intx;floaty;所用的scanf调用语句格式为:
scanf(“x=%d;y=%f”,&x,&y);
则为了将数据10和66.6分别赋给x和y,正确的输入应当是:
A)x=10;y=66.6<回车>B)x=10,y=66.6<回车>
C)10<回车>66.6<回车>D)x=10<回车>y=66.6<回车>
5).语句if(!
i)i++;中的条件表达式!
i等价于________。
A)i==0B)i!
=1C)i!
=0D)-i
6).下面程序的运行结果是:
main()
{intx=10,y=10;
printf(“%d%d\n”,x--,--y);}
A)109B)910C)1010D)99
7).执行下面的程序段后,变量k中的值为:
intk=3,s[2];
s[0]=k;k=s[1]*10;
A)不定值B)33C)30D)10
8).已知英文字母a的ASCII代码值是十六进制数61H,那么字母d的ASCII代码值是:
A)34HB)54HC)24HD)64H
9)若有以下说明:
inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};
charc='a',d,g;
则数值为4的表达式是:
A)a[g-c]B)a[4]C)a['d'-'c']D)a['d'-c]
10).给出以下定义:
charx[]="abcdefg";
chary[]={'a','b','c','d','e','f','g'};
则正确的叙述为:
A)数组X和数组Y等价B)数组x和数组Y的长度相同
C)数组X的长度大于数组Y的长度D)数组X的长度小于数组Y的长度
11).C语言中规定,if语句的嵌套结构中,else总是与________配对。
A)与最近的if配套B)与第一个if配套
C)按缩进位置相同的if配套D)与最近的且尚未配对的if配套
12).若用数组名作函数参数,则传递的是:
A)数组的首地址B)数组中第一个元素得值
C)数组中全部元素的值D)数组元素的个数
13).当执行以下程序段时________。
x=-1;
do{x=x*x;}while(!
x);
A)循环体将执行一次B)循环体将执行两次
C)循环体将执行无限次D)系统将提示有语法错误
14).一个源文件中定义的外部变量的作用域:
A)本文件的全部范围。
B)本程序的全部范围。
C)本函数的全部范围。
D)从定义该变量的位置开始至本文件结束。
15).C语言规定,调用一个函数,实参与形参间数据传递方式:
A)地址传递B)值传递C)双向传递D)由用户指定传递方式
16).若有说明:
inti,j=7,*p=&i;则与i=j;等价的语句是:
A)i=*p;B)*p=*&j;C)i=&j;D)i=**p;
17).下面程序段的运行结果是_________.
char*s="abcde";
s+=2;printf("%d",s);
A)cdeB)字符'c'C)字符'c'的地址D)无确定的输出结果
18).设p1和p2是指向同一个字符串的指针变量,c为字符变量,则以下不能正确的执行的赋值语句是________.
A)c=*p1+*p2;B)p2=cC)p1=p2D)c=*p1*(*p2);
19).若有说明语句
chara[]="Itismine";
char*p="Itismine";
则以下不正确的叙述是________.
A)a+1表示的是字符t的地址
B)p指向另外的字符串时,字符串的长度不受限制
C)p变量中存放的地址值可以改变
D)a中只能存放10个字符
20).设有如下定义:
structsk
{intn;
floatx;
}data,*p;
若要使p指向data中的n域,正确的赋值语句是_______.
A)p=&data.n;
B)*p=data.n;
C)p=(structsk*)&data.n;
D)p=(structsk*)data.n;
21).以下不是c语言规定保留字的是()。
A)floatB)integerC)signedD)unsigned
22).下述程序执行后的输出结果是( )
#include
main()
{
intx='f';
printf("%c\n",'a'+(x-'a'+1));
}
A)gB)hC)iD)j
23).设有程序
#include
main()
{
inti,j;
for(i=0,j=1;i<=j+1;i+=2,j--)
printf("%d\n",i);
}
在运行上述程序时,for语句中循环体的执行次数是()
A)3B)23)1D)0
24)、错误的说明语句是:
______
A)charword[]={‘T’,’u’,’r’,’b’,’o’,’\0’};
B)charword[]={“Turbo\0”};
C)charword[]=“Turbo\0”;
D)charword[]=‘Turbo\0’;
25)已知:
intb[5];则对b数组元素的正确引用是:
_____
A)b[5]B)b[3.5]C)b(3)D)b[10-10]
26)、在一个C源程序文件中,若要定义一个只允许在该源文件中所有函数使用的变量,则定义为:
A)AutoB)staticC)externD)register
27).假定a和b为int型变量,则执行下述语句组后,b的值为()。
a=1;
b=10;
do
{
b-=a;
a++;
}while(b--<0);
A)9B)-2C)-1D)8
28).在C语言中,以下描述正确的是:
A)函数的定义可以嵌套,但函数的调用不可以
B)函数的定义不可以嵌套,但函数的调用可以
C)函数的定义和调用都不可以嵌套
D)函数的定义和调用均可嵌套
29).下述程序代码中有语法错误的行是()。
inti,ia[10],ib[10];/*第一行*/
for(i=0;i<=9;i++)/*第2行*/
ia[i]=0;/*第3行*/
ib=ia;/第4行*/
A)第1行B)第2行C)第3行D)第4行
30).若已定义
inta[9],*p=a;
并在以后的语句中未改变p的值,则不能表示a[1]地址的表达式是()。
A)p+1B)a+1C)a++D)++p
31).若有定义:
inta[2][3],则对a数组的第i行j列元素地址的正确引用为______.
A)*(a[i]+j)B)(a+i)C)*(a+j)D)a[i]+j
32).执行下述程序后的输出结果是()。
#include
voidmain()
{intf(int);
inta=2,i;
for(i=0;i<3;i++)
printf("%d",f(a));
}
intf(inta)
{autointb=0;
staticc=3;
b=b+1;
c=c+1;
return(a+b+c);
}
A)7910B)789C)799D)788
33).执行下述程序后的输出结果是()。
已知函数scopy的定义如下
voidscopy(char*s,char*t)
{
while(*s++=*t++);
}
则该函数的功能是()。
A)串复制B)求串长度C)串比较D)串反向
34).以下对结构体变量stu1中成员age的非法引用是________.
structstudent
{intage;
intnum;
}stu1,*p;
p=&stu1;
A)stu1.ageB)student.age
C)p->ageD)(*p).age
35).以下程序for语句循环体中printf语句执行次数是()。
#include
#defineN2
#defineMN+1
#defineNUM(M+1)*m/2
main()
{
inti;
for(i=1;i<=NUM;i++)
printf("%d\n",i);
}
A)5B)6C)8D)9
36).若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写,则文件方式字符串应是______.
A)"ab+"B)"wb+"C)"rb+"D)"ab"
二、填空题
1)下面程序的运行结果是:
____
#include“stdio.h”
main()
{intx=23;
do
{printf(“%d”,x--);}
while(!
x);
}
2)若a=1;b=2;则问号表达式a>b?
a:
(b+1)的值是:
___
3)若定义:
charch;
使指针p指向变量ch的定义语句是:
____
通过指针p给变量ch赋值字符A的语句是:
_____
通过指针p输出变量ch中字符的语句是:
_____
4)循环语句for(x=0,y=0;(y!
=123)&&(x<4);x++)执行的循环次数是:
___次。
5)fp=fopen(“file1”,”r”)实现的操作是:
____
6).若x=2,y=3,则x&&y的结果是______.
7)C语言规定标识符只能有____三种字符组成,且第一个字符必须为__
8)假设m是一个三位数,从右到左用a、b、c表示各位数字,则从左到右各个数字是bac的三位数的表达式是:
____
3)main()
{printf(“*%f,%4.3f*”,3.14,3.1415);}输出结果:
_____
5)设有数组定义:
chararray[]="China";则数组array所占的空间为:
______个字节
三、程序阅读题
1.以下程序的输出结果是___________。
main()
{inti=010,j=10,k=0x10;
printf(“%d,%d,%d\n”,i,j,k);
}
2.写出以下程序的功能。
#include
voidmain()
{inta,b,s;
scanf("%d%d",&a,&b);
s=a-b;
if(a
printf("%d\n",s);
}
3.以下程序的运行结果是。
#include
voidf(inta[])
{inti=0;
while(a[i]<=10)
{printf("%3d",a[i]);
i++;}
}
voidmain()
{inta[]={12,5,10,9,13,4};
f(a+2);
}
4.写出以下函数的功能。
#include
intf(char*s)
{char*p=s;
while(*p!
='\0')p++;
return(p-s);
}
5.下面程序的运行结果是:
_____
#include“stdio.h”
main()
{chara[]=“Program”,*p;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 期末 复习 练习题