C语言12章课后题Word格式文档下载.docx
《C语言12章课后题Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C语言12章课后题Word格式文档下载.docx(24页珍藏版)》请在冰豆网上搜索。
1、C语言程序的基本单位是()。
2、C语言源程序文件名的后缀是(),经过编译后生成的目标文件名的后缀是(),经过链接之后生成的可执行文件名的后缀是()。
3、计算机语言包括()、()和()。
其中计算机能够直接识别的语言是(),()很接近人们习惯使用的自然语言和数学语言。
4、按照结构化程序设计原则,常见的程序基本结构有()、()和()。
5、循环结构包含()循环和()循环。
三、简单题
1、什么是程序?
什么是程序设计?
2、解释源程序、目标程序和可执行程序的含义。
3、写出C语言的特点。
四、编程题
1、参照本章例题,编写一个C语言程序,输出以下信息:
happynewyear!
2、参照本章例题,编写程序求两个数中的较小值。
第二章C语言程序设计基础课后题
1、以下选项中,正确的整型数据是()。
A、1.2
B、-123
C、723456
D、567890
2、下面字符常量的表达形式中正确的是()。
A、“Z”
B、“\’
C、‘1’
D、‘\378’
3、ch为字符型变量,执行语句“ch=’C’+‘5’-‘4’;
”,将ch按字符类型输出的结果是()。
A、D
B、68
C、56
D、不确定的值
4、C语言中要求运算对象必须是整型数据的运算符是()。
A、++
B、--
C、%
D、/
5、变量a为整型、b为实型、c为双精度型、d为字符型,则表达式a=a*b+d-c的类型是()。
A、整型
B、实型
C、双精度型
D、字符型
6、有以下定义语句,编译时会出现编译错误的是()。
A、chara=’a’;
B、chara=’\n’;
C、chara=’aa’;
D、chara=’\x2d’;
7、设有语句“inta=3;
”,执行语句printf(“%d%d”,a+1,a++);
后输出的值是()。
A、43
B、34
C、44
D、33
1、在C语言中(以16位计算机为例),一个char型数据在内存中所占的字节数为(),其数值范围是();
一个int型数据在内存中所占的字节数为(),其数值范围是();
一个long型数据在内存中所占的字节数为(),其数值范围是();
一个float型数据在内存中所占字节数为(),其数值范围是()。
2、字符常量使用一对()界定单个字符,而字符串常量使用一对()来界定若干个字符的序列。
3、设“floatx=2.5;
inta=7;
floaty=4.7;
”,则表达式x+a%3*(int)(x+y)%2/4的值为()。
4、已知“chara=’a’,b=’b’,c=’c’,i;
”,则表达式i=a+b+c的值为()。
5、假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为()。
6、若有定义“intm=5,n=3;
”,则表达式m/=n+4的值是(),表达式m=(m=1,n=2,n-m)的值是(),表达式m+=m-=(m=1)*(n=2)的值是()。
三、简答题
1、简述’a’和”a”的区别。
2、已知,“intm=12,m=15;
”,为什么整型变量m的值在运算后不是当初的12,而是15?
3、将下面各数用八进制和十六进制数表示。
十进制数:
32-1-327682002-1280
八进制数:
十六进制数:
4、写出以下程序的运行结果
intmain()
{
charc1=’a’,c2=’b’,c3=’c’,c4=’\101’,c5=’116’;
printf(“a%cb%c\tc%c\tabc\n”,c1,c2,c3);
printf(“\t\b%c%c”,c4,c5);
return0;
5、写出以下程序的运行结果。
inti,j,m,n;
i=8;
j=10;
m=++i;
n=j++;
printf(“%d,%d,%d,%d”,i,j,m,n);
return0;
已知“intx=10,用2;
”,写出将x和y的值相互交换的语句。
测试一
一、单项选择题
1、以下描述中正确的是()
A、C语言程序的执行是从main函数开始的,到程序的最后一个函数结束
B、C语言程序的执行是从第一个函数开始的,到程序的最后一个函数结束
C、C语言程序的执行是从main函数开始的,到程序的main函数结束
D、C语言程序的执行是从第一个函数开始的,到程序的main函数结束
2、若有语句“chara;
”,并要将字符a赋给变量a,则下列赋值表达式正确的是()。
A、a=’a’;
B、a=’a’;
C、a=”97”;
D、a=’97’;
3、若有语句“inta=5;
”,则执行语句“a++a*=10;
”后,a的值是()。
A、55
B、100
C、60
D、105
4、设有“intx=11;
”,则表达式(x++*1/3)的值是()。
A、3
B、4
C、11
D、12
5、能正确表达逻辑关系“a>
=10”或“a<
=0”的C语言表达式是()。
A、a>
=10ora<
=0
B、a>
=0|a<
=10
C、a>
=10&
&
a<
D、a>
=10||a<
6、已有定义“intx=3,y=4;
”,则表达式x>
y&
y的值是()
A、true
B、0
C、false
D、1
7、有如下语句,则当x=5是,c的值是()
intc=5,x;
scanf(“%d”,&
x);
switch(x+1)
case6:
c++;
case8:
break;
default:
c+=3;
printf(“%d”,c);
A、6
B、7
C、8
D、语法错误
8、若有以下程序,则语句a=a+1执行的次数是()
intx=1,a=1;
do
{
a=a+1;
while(x);
A、0
B、1
C、无限次
D、有限次
9、以下程序的输出结果是()
inta[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;
for(i=1;
i<
3;
i++)
for(j=0;
j<
=i;
j++)
s+=a[i][j];
printf(“%d\n”,s);
A、18
B、19
C、20
D、21
10、C语言中,二维数组在内存中的存放顺序是()
A、行优先
B、列优先
C、由编译系统决定
D、由用户决定
11、以下程序的输出结果是()
charch[]={‘1’,’2’,’\0’,’3’,’4’,’\0’};
printf(“%s”,ch);
A、1234
B、12034
C、12
D、有语法错误
12、以下程序执行后输出的结果是()
voidf(intx,inty)
intt;
if(x<
y){t=x;
x=y;
y=t;
inta=4,b=3,c=5;
f(a,b);
f(a,c);
f(b,c);
printf(“%d,%d,%d\n”,a,b,c);
A、3,4,5
B、5,3,4
C、5,4,3
D、4,3,5
13、执行如下程序段后,a的值为()
int*p,a=10,b=1;
p=&
a;
a=*p+b;
A、12
B、11
C、10
D、编译出错
14、以下程序执行后的输出结果是()
intx[8]={8,7,6,5,0,0},*s;
s=x+3;
printf(“%d\n”,s[2]);
A、随机值
C、5
D、6
15、若要将text.txt文件打开用于追加信息,则以下格式正确的是()
A、fp=fopen(“text.txt”,”r”);
B、fp=fopen(“text.txt”,”r+”);
C、fp=fopen(“text.txt”,”a+”);
D、fp=fopen(“text.txt”,”w”);
16、有定义语句“doublex,*p;
”,则以下表达式中正确的是()
A、*p=&
x;
B、p=x;
C、p=&
D、*p=x;
17、下面程序的正确输出结果是()。
(规定用U表示空格)
floatx=5.783,y=-10.2345;
printf(“x=%-8.2f,y=%-8.2f\n”,x,y);
A、x=5.78UUUU,y=-10.23UU
B、x=5.78,y=-10.23
C、5.78,-10.23
D、x=UUUU5.78,y=UU-10.23
18、sizeof(float)是()
A、一个浮点表达式
B、一个不合法的表达式
C、函数调用结果,是一个整型表达式
D、一种函数调用
19、下列数据中属于字符串常量的是()
A、’A’
B、”ABC”
C、ABC
D、’ABC’
20、用下面的scanf函数输入数据,使得i=10,k=15,正确的键盘输入方法是()(用[CR]表示回车,U表示空格)
inti,k;
scanf(“i=%d,k=%d”,&
i,&
k);
A、i=10[CR]k=15[CR]
B、i=10,k=15[CR]
C、10U15[CR]
D、10,15[CR]
二、判断题
1、在一个C语言程序中,main函数必须出现在所有函数之前。
()
2、引用数组元素时,下标可以是整型常量或整型表达式。
()
3、预处理命令都必须以“#”开头。
4、函数的形参都属于全局变量。
5、静态(static)类型变量在函数调用结束后仍然存在。
6、函数定义可以嵌套,函数调用不可以嵌套。
7、字符类型变量只能存储一个字符。
8、从功能上讲,“putchar(c);
”等价与“printf(“%c”,c);
”。
9、表达式(7-1)*2!
=10的值为1。
10、实参向形参传递值可以是单向传递,也可以是双向传递。
三、填空题
1