C语言程序的设计_第3章练习题
- 格式:doc
- 大小:89.00 KB
- 文档页数:9
一、单选题1、以下程序的输出结果是______。
#include <stdio.h>void main(){int k=17;printf("%d,%o,%x\n",k,k,k);}A:17,021,0x11 B:17,17,17 C:17,0x11,021 D:17,21,11答案:D难度:2知识点:读程序选结果/第三章2、请选出合法的C语言赋值语句______。
A:a=b=58 B:i++; C:a=58,b=58 D:k=int(a+b);答案:B难度:2知识点:单选题/第三章3、设int a=12,则执行完语句a+=a-=a*a后,a的值是______。
A:552 B:264 C:144 D:-264答案:D难度:2知识点:读程序选结果/第三章4、若变量已正确定义并赋值,下面符合C语言的表达式是______。
A:a:=b+1 B:a=b=c+2 C:int 18.5%3 D:a=a+7=c+b答案:B难度:2知识点:单选题/第三章第3 章单选题2 吕橙5、若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a 的值是______。
A:-3 B:9 C:-12 D:6答案:C难度:2知识点:读程序选结果/第三章6、若变量已正确说明为float类型,要通过语句scanf("%f %f %f",&a,&b,&c);给a赋予10.0,b赋予22.0,c赋予33.0,不正确的输入形式是:______。
①102233②10.0,22.0,33.0③10.022.0 33.0④10 2233A:①B:②C:③D:④答案:B难度:2知识点:读程序选结果/第三章7、以下程序的输出结果是______。
// 此题超纲,已删除#define SQR(X) X*X#include <stdio.h>void main(){int a=16,k=2,m=1;a/=SQR(k+m)/SQR(k+m);printf("%d\n",a);}A:16 B:2 C:9 D:1答案:B《C 语言程序设计》题库吕橙3难度:2知识点:读程序选结果/第三章(超纲)8、X、Y、Z被定义为int型变量,若从键盘给X、Y、Z输入数据,正确的输入语句是______。
完成以下编程题,将程序源代码粘贴提交。
P.562.编写程序,输入圆的半径,计算并输出其周长和面积。
常量pi的值取3.14159,周长和面积取小数点后2位数字。
#include<stdio.h>#define pi 3.14159void main(){float r,s,a;printf("请输入圆的半径");scanf("%f",&r);s=pi*r*r;a=2*pi*r;printf("s=%.2f,a=%.2f\n",s,a);}3.编写程序,把整数华氏温度f转换为浮点型的摄氏温度c。
转换公式为c=5/9(f-32),输出要有文字说明,取2位小数。
#include<stdio.h>void main(){int f;float c;printf("请输入华氏温度");scanf("%d",&f);c=5.0/9*(f-32);printf("摄氏温度为%.2f\n",c);}4.编写程序,输入三角形的三边的边长,求三角形面积。
三角形面积的计算公式为:p=(a+b+c)/2 ,S=sqrt(p(p-a)(p-b)(p-c))。
#include<stdio.h>#include<math.h>void main(){float a,b,c,S,p;printf("请输入三角形三边长\n");scanf("%f%f%f",&a,&b,&c);p=(a+b+c)/2.0;S=sqrt(p*(p-a)*(p-b)*(p-c));printf("S=%f\n",S);}6.编写程序,输入一个小写字母,输出其对应的大写字母。
#include<stdio.h>void main(){char c;printf("请输入一个小写字母\n");scanf("%c",&c);c=c-32;printf("对应大写字母为%c\n",c);}7.编写程序,从键盘输入两个字符分别存放在变量c1和c2中,要求交换c1和c2的值并输出。
一、单项选择题题目1若x的值为15,则执行“if(x>10) x++; else x--;”语句后,x的值为()。
a. 14b. 15c. 10d. 16题目2若x的值为-10,则执行“if(!x) x++; else x--;”语句后,x的值为()。
a. -9b. -11c. -10d. 0题目3若x的值为10,则执行“switch(x%3){case0: x++; case 1:x++; case 2: x++;}”语句后,x的值为()。
a. 13b. 12c. 11d. 10题目4若x的值为10,则执行“switc h(x%3){case0: x++; break; case 1:x++; default: x++;}”语句后,x的值为()。
a. 9b. 10c. 11d. 12题目5若n的值为10,则执行“for(i=1;i<n; i++) S;”语句的过程中,表达式i=1共被执行的次数为()。
a. nb. n+1c. 1 B. n-1 C.n-1d. 1题目6若n的值为10,则执行“for(i=0;; i++) if(i>n/3) break;”语句后,i的值为()。
a. 3b. 6c. 4d. 5题目7若n的值为10,则执行“for(i=1;i<n; i++) S;”语句的过程中,表达式i++共被执行的次数为()。
a. n+1b. nc. 1d. n-1题目8若n的值为10,则执行“for(i=0;i<n; i++) for(j=i; j<n; j++) S;”语句后,内层循环体S语句的执行总次数为()。
a. n(n-1)/2b. (n+1)/2c. n*nd. n(n+1)/2题目9若n的值为10,则执行“while(n-->0)s+=n;”语句的过程中,循环体被执行的次数为()。
a. 8b. 10c. 11d. 9题目10若n的值为5,s的值为0,则执行“while(n-->0) s+=n;”语句后,s的值为()。
第三章练习题之运算符和表达式一、选择题:1、以下运算符中,优先级最高的运算符是()A. =B. !=C. *(乘号)D. ()2、若有以下定义,则能使值为3的表达式是()int k=7, x=12;A. x%=(k%=5)B. x%=(k-k%5)C. x%=k-k%5D. (x%=k)-(k%=5)3、设在tc2.0中有整型变量x,y,z均为3,表达式(x++)+(y++)+(z++)的值是 ( )A. 6B. 7C. 8D. 94、有以下程序运行后的输出结果是:()main(){ char a='A',b;print("%c,",++a);printf("%c\n",b=a++);}A. B,BB. B,CC. A,BD. A,C5、有以下程序运行后的输出结果是:()main(){ char a='a';printf ("%c,",++a);printf("%c\n",a++);}A)b,b B)b,c C)a,b D)a,c6、设a=6,b=4,则表达式b*=a+3的值为:()A)3 B)18 C)27 D)367、有如下程序段,其输出结果是: ( )int a=3;float b=15.6,f=1.5;printf(“%d”,a+(int)b/2+(int)f%3);A)10 B)11 C)12 D)138、以下程序的输出结果是:()main( ){int a=3 ;printf ( "%d %d\n " , a , a++) ; }A. 4 3B. 4 4C. 5 3D. 5 49、以下程序的输出结果是()。
main( ){int a=10;printf ( "%d %d\n " , a , a++) ; }(A)11 10 (B)11 11 (C)12 20 (D)12 1110、若有定义:int a=8,b=5,c;执行语句c=a / b+0.4 ; 后c的值为()。
第3章最简单的C程序设计—顺序程序设计一、单项选择题1. 不是C语言提供的合法关键字是。
A)switch B)cher C)case D)default2. C语言提供的合法关键字是。
A)next B)string C)do case D)struct3. 下列不属于C语言中关键字的是。
A) long B) print C)default D)typedef4. 下列不正确的标识符是。
A) -a1 B) a[i] C)a2_i D)x5. 下列C语言用户标识符中合法的是。
A)*y B)sum C)int D)%5f6. 下面四个选项中,合法的标识符是。
A)auto B)define C)6a D)c7.下列C语言用户标识符中合法的是。
A)3ax B)x C)case D)-e28. 以下选项中合法的用户标识符是。
A) long B) _2Test C) 3Dmax D) A.dat9.下列四组选项中,正确的C语言标识符是。
A)%x B)a+b C)a123 D)12310. 请选出可用作C语言用户标识符的一组标识符A) void B) a3_b3 C) For D) 2adefine _123-abc DOWORD sum Case sizeof11. 下列四组字符串中都可以用作C语言程序中的标识符的是。
A)print _3d oodb aBc B)I\am one_half start$it 3paiC)str_1 Cpp pow while D)Pxq My->book line# His.age12. 下列C语言标识符中合法的变量名是。
A)2e3 B)you C)*y D)float1-12题解析:参照讲义中知识点--标识符与关键字,13. C语言中的简单数据类型包括。
A)整型、实型、逻辑型B)整型、实型、逻辑型、字符型C)整型、字符型、逻辑型D)整型、实型、字符型13题解析:C语言中没有逻辑型变量14.下列可以正确表示字符型常量的是。
第3章最简单的C程序设计—顺序程序设计一、单项选择题1. 不是C语言提供的合法关键字是。
A)switch B)cher C)case D)default2. C语言提供的合法关键字是。
A)next B)string C)do case D)struct3. 下列不属于C语言中关键字的是。
A) long B) print C)default D)typedef4. 下列不正确的标识符是。
A) -a1 B) a[i] C)a2_i D)x5. 下列C语言用户标识符中合法的是。
A)*y B)sum C)int D)%5f6. 下面四个选项中,合法的标识符是。
A)auto B)define C)6a D)c7.下列C语言用户标识符中合法的是。
A)3ax B)x C)case D)-e28. 以下选项中合法的用户标识符是。
A) long B) _2Test C) 3Dmax D) A.dat9.下列四组选项中,正确的C语言标识符是。
A)%x B)a+b C)a123 D)12310. 请选出可用作C语言用户标识符的一组标识符A) void B) a3_b3 C) For D) 2adefine _123-abc DOWORD sum Case sizeof11. 下列四组字符串中都可以用作C语言程序中的标识符的是。
A)print _3d oodb aBc B)I\am one_half start$it 3paiC)str_1 Cpp pow while D)Pxq My->book line# His.age12. 下列C语言标识符中合法的变量名是。
A)2e3 B)you C)*y D)float1-12题解析:参照讲义中知识点--标识符与关键字,13. C语言中的简单数据类型包括。
A)整型、实型、逻辑型B)整型、实型、逻辑型、字符型C)整型、字符型、逻辑型D)整型、实型、字符型13题解析:C语言中没有逻辑型变量14.下列可以正确表示字符型常量的是。
C语言程序设计各章练习题《C 语言程序设计》各章练习题2016年12月汇编第1-3章 C 语言基础、编程规范、顺序结构程序设计编程题1:设a 和b 均为int 型变量,编写一个程序,通过键盘读入a,b 的值,然后交换a,b 的值。
要求屏幕显示“输入2个整数,用空格隔开”的提示语句,并且输出交换前a,b 的值,交换后a,b 的值。
附加要求:(1)允许定义第3个变量,实现交换;(2)不允许定义第3个变量,实现交换。
第4章选择结构程序设计编程题2:根据下列函数关系写程序,要求提示输入x 的值,输出y 的值。
⎪⎪⎩⎪⎪⎨⎧>=<+-=0020212x x x x x y编程题2:根据下列函数关系写程序,要求提示输入x 的值,输出y 的值。
⎪⎩⎪⎨⎧>≤≤--<=002222x x x x x y编程题3:求 ax 2+bx+c=0方程的解。
(只输出b 2-4ac>=0的求解结果,小于0,输出“不予求解!”)第5章 循环结构程序设计编程题4:编程计算∑=ni i 1。
要求提示键盘输入n ,如n 为负数,不予计算,直接返回。
编程题5:编程序计算n !,要求n 从键盘输入,如n 小于0,不予计算。
编程题6:从键盘输入一个数n ,判断n 是否是素数。
编程题6:编写程序输出1~100之间的偶数,要求屏幕显示时5个偶数一行,每个数占5位,右对齐。
编程题7:编程计算100到1000之间有多少个数其各位数字之和是5,并将其输出。
编程题8:求满足下列条件的三位数n ,它除以11(整数相除)所得到的商等于n 的各位数字的平方和,且其中至少有二位数字相同的数。
编程题9:有一些十进制整数对ab 和cd 具有如下特性:ab×cd=ba×dc,其中a≠b 且c≠d。
如:12×42=21×24。
请编程找出30~50之间满数,将100~200之间的素数全部输出,要求屏幕上每个数占4位,每行显示5个素数,左对齐。
考试科目:《C语言程序设计》第章至第章(总分100分)一单选题 (共20题,总分值40分,下列选项中有且仅有一个选项符合题目要求,请在答题卡上正确填涂。
)1. 如有以下定义“int y[4][4]={1,2,3,4,5,6,7,8,9,10},*pyl=y[l],(*py2)[4]=y;”,则不能正确引用值为7的数组元素的表达式是()。
(2 分)A. *(y[l]+2)B. *(y+1)+2C. pyl[2]D. py2[1][2]2. 有以下程序void fun(char *c,int d){ *c=*c+1;d=d+1;printf(“%c,%c,”,*c,d);}main(){ char a=’A’,b=’a’;fun(&b,a); printf(“%c,%c\n”,a,b);}程序运行后的输出结果是()。
(2 分)A. B,a,B,aB. a,B,a,BC. A,b,A,bD. b,B,A,b3. 下面对结构数据类型的叙述中,()是错的。
(2 分)A. 结构变量可以在说明结构类型后定义,也可在说明结构时定义B. 结构可由若干个成员组成,各成员的数据类型可以不同C. 定义一个结构类型后,编译程序要为结构的各成员分配存储空间D. 结构变量的各成员可通过结构变量名和指向结构变量的指针引用4. 若有以下的说明,则对初值中字符'a'的引用方式为()。
static struct st{ char ch;double x;char a[];}struct st c[2][2]={{'a',3.5,'bc'},{'c',4.5,'de'},{'m',8.6,'abc'}};(2 分)A. c.chB. c[0][0].chC. c[1][1].chD. a[0]5. 以下枚举类型的定义中正确的是()。
一、单项选择题
题目1
若x的值为15,则执行“if(x>10) x++; else x--;”语句后,x的值为(
)。
a. 14
b. 15
c. 10
d. 16
题目2
若x的值为-10,则执行“if(!x) x++; else x--;”语句后,x的值为()。
a. -9
b. -11
c. -10
d. 0
题目3
若x的值为10,则执行“switch(x%3){case
0: x++; case 1:x++; case 2: x++;}”语句后,x的值为()。
a. 13
b. 12
c. 11
d. 10
题目4
若x的值为10,则执行“switch(x%3){case
0: x++; break; case 1:x++; default: x++;}”语句后,x的值为()。
a. 9
b. 10
c. 11
d. 12
题目5
若n的值为10,则执行“for(i=1;
i<n; i++) S;”语句的过程中,表达式i=1共被执行的次数为()。
a. n
b. n+1
c. 1 B. n-1 C.
n-1
d. 1
题目6
若n的值为10,则执行“for(i=0;
; i++) if(i>n/3) break;”语句后,i的值为()。
a. 3
b. 6
c. 4
d. 5
题目7
若n的值为10,则执行“for(i=1;
i<n; i++) S;”语句的过程中,表达式i++共被执行的次数为()。
a. n+1
b. n
c. 1
d. n-1
题目8
若n的值为10,则执行“for(i=0;
i<n; i++) for(j=i; j<n; j++) S;”语句后,层循环体S语句的执行总次数为()。
a. n(n-1)/2
b. (n+1)/2
c. n*n
d. n(n+1)/2
题目9
若n的值为10,则执行“while(n-->0)
s+=n;”语句的过程中,循环体被执行的次数为()。
a. 8
b. 10
c. 11
d. 9
题目10
若n的值为5,s的值为0,则执行“while(n-->0) s+=n;”语句后,s的值为()。
a. 10
b. 15
c. 12
d. 14
题目11
在下列的语句中,必须以分号作为结束的语句是()。
a. while
b. for
c. switch
d. do
题目12
若n的值为5,s的值为0,则执行“do s+=n--; while(n>0);”语句后,s的值为(
)。
a. 12
b. 13
c. 15
d. 14
题目13
要结束任一种循环语句或switch语句的执行,则在其中使用的语句为()。
a. goto
b. break
c. continue
d. return
二、判断题
题目14
在if语句中,必须带有else子句,不能省略它。
对
错
题目15
在for循环语句的头部,for后面括号共有3个表达式位置。
对
错
题目16
for循环语句不能够被转换为while循环语句。
对
错
题目17
while循环语句中的循环体可能不会被执行。
对
错
题目18
while循环语句的循环体,只能是复合语句,不能是简单语句。
对
错
题目19
do-while循环语句中的循环体可能不会被执行。
对
错
题目20
do-while循环语句的循环体,只能是复合语句,不能是简单语句。
对
错
题目21
do-while循环语句是以循环体结尾的。
对
错
题目22
break语句可以使用在switch语句中。
对
错
题目23
return语句中可以带有返回表达式。
对
错
题目24
continue只能使用在任一种循环语句的循环体中。
对
错
三、程序填空题
题目25
#include<stdio.h>
void main() {
int a=5,b=8,c=6,d=15,x,y;
if(a>=b) x=a; else x=b;
if(c>=d) y=c; else y=d;
if(x>=y) printf("%d\n",x);
else printf("%d\n",y);
}。