C语言程序设计-第3章 练习题
第三章C语言单选练习
一、单选题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输入数据,正确的输入语句是______。
第6周C程序设计作业
第三章练习题之运算符和表达式一、选择题: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的值为()。
C语言程序的设计_第3章练习题
一、单项选择题题目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,则执行“switch(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的值为()。
C语言 第三章 顺序结构程序设计期末测试习题与答案
B.scanf(“%dV%dV%d”,&a,&b,&c);
C.scanf(“%d,%d,%d”,&a,&b,&c);
D.scanf(“%2d%3d%4d”,a,b,c);
参考答案:C
5、若int a,b; double x;
以下不合法的scanf函数调用语句是( )。
参考答案:C
17、以下程序段的输出结果是
int a=1234;
printf("a=%2d\n",a);
A.提示出错、无结果
B.a=34
C.a=1234
D.a=12
参考答案:C
18、下列关于printf()函数说法错误的是( )。
A.printf()函数是库函数,必须使用#include命令将其包含进来
printf(" %d %d\n",(++x ,y++),z+2);}
运行该程序的输出结果是( )。
A.4 2
B.33
C.4 3
D.3 4
参考答案:B
24、下列程序的输出结果是( )。
main()
{ double d=3.2; int x ,y ;
x=1.2 ; y=(x+3.8)/5.0;
printf("%d \n", 7.3);}
A.3
B.3.07
C.0
D.3.2
参考答案:C
25、以下程序的输出结果是( )。
main( )
{
inmp;&!b||!c;
C语言程序设计(第3版)第3章补充习题及答案
x=(a&&b)&&(c<’B’);
执行该程序段后,x的值为( )
AtureB falseC 0D 1
(9)以下程序的输出结果是( )
main()
{
int a=0,i=1;
switch(i)
{
case 0:
case 3:a+=2;
case 1:
case 2:a+=3;
default:a+=5;
(2)下面程序的输出结果是
iX=3
iX>3
。
#include "stdio.h"
main()
{intiX=3;
switch(iX)
{case 1:
case 2:printf("iX<3\n");
case 3:printf("iX=3\n");
case 4:
case 5:printf("iX>3\n");
}
}
(3)以下程序的运行结果是iM=3,iN=4,iT=3。
#include "stdio.h"
main()
{int iM,iN,iT,iA=2,iB=3;
iM=(++iA==--iB)?––iA:++iB;
iN=++iA;
iT=iB;
printf("iM=%d,iN=%d,iT=%d\n",iM,iN,iT);
(4)对switch后括号内的表达式,叙述正确的是C。
A.只能是数字B.可以是浮点数
C.只能是整型数据或字符型数据D.以上叙述都不对
c程序设计第3-4章练习题有答案
第3-4章练习题一、选择题1. 以下错误的字符串赋值或赋初值方式是:(A)char str1[]=”string”, str2[]=”12345678”;st r cpy(str2,str1);(B)char str[7]={’s’,’t’,’r’,’i’,’n’,’g’};(C)char str[10] ;str =”string”;(D)char *str; str=”string”;2. 数组定义中不正确的是:(A)int a[2][3]; (B)int b[][3]={0,1,2,3};(C)int c[100][100]={0}; (D)int d[3][]={{1,2},{1,2,3},{1,2,3,4}};3. 以下对一维数组a正确初始化的是:(A)int a[10]=(0,0,0,0,); (B)int a[10]={};(C)int a[10]={0}; (D)int a[10]=(10*2);4.以下选项中,不能正确赋值的是:(A)char s1[10];s1="Ctest"; (B)char s2[]={'C', 't', 'e', 's', 't'};(C)char s3[20]="Ctest"; (D)char *s4="Ctest\n"5.若有说明:int i, j=2,*p=&i;,则能完成i=j赋值功能的语句是:(A)i=*p; (B)*p=*&j; (C)i=&j; (D)i=**p;6. 下面各语句行中,不能正确进行字符串操作的语句行是:(A) char st[10]={"abcde"}; (B) char s[5]={'a','b','c','d','e'};(C) char *s; s="abcde"; (D) char *s; scanf("%s",s);7.设有如下的程序段,执行上面的程序段后,*(ptr+5)的值为:char str[ ]="Hello"; char *ptr; ptr=str;(A) 'o' (B) '\0' (C)不确定的值(D) 'o'的地址8. 请选出以下语句的输出结果printf("%d\n",strlen("\t\"\065\xff\n"));(A)5 (B)14 (C)8 (D)输出项不合法,无正常输出9.以下程序段给数组所有的元素输入数据,请选择正确答案填入。
C语言-第3章 最简单的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.下列可以正确表示字符型常量的是。
C语言程序设计(第2-3章)习题答案(魏为民)
习题2参考答案一、基础题1.若二维数组a有m列,则在a[i][j]前的元素个数为:A)j*m+i B)i*m+jC)i*m+j-1 D)i*m+j+1B2.在C语言中(以16位PC机为例),五种基本数据类型存储空间长度的排列顺序是:A) char<int<long int<=float<doubleB) char=int<long int<=float<doubleC) char<int<long int=float=doubleD) char=int=long int<=float<doubleA3.在C语言的变量类型说明中,int,char,float等类型的长度是:A) 固定的B) 由用户自己定义的C) 任意的D) 与机器字长有关的D4. 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f的数据类型是:A) int型B)float型C) double型D)不确定C5.C语言中的变量名只能由字母,数字和下划线三种字符组成,且第一个字符:A) 必须为字母B) 必须为下划线C) 必须为字母或下划线D) 可以是字母,数字或下划线中的任意一种C6.设a=1,b=2,c=3,d=4,则表达式a<b?a:c<d?a:d的值是:A) 4 B) 3 C) 2 D) 1D7.以下程序的输出结果是:main(){ int a=12, b=12;printf("%d,%d\n",--a,++b);}A) 10,10 B) 12,12 C) 11,10 D) 11,13D8.若有代数式(3ae)/(bc),则下面不正确的C语言表达式是:A) a/b/c*e*3 B) 3*a*e/b/c C) 3*a*e/b*c D) a*e/c/b*3C9.已知x=43,ch='A',y=0,则表达式(x>=y&&ch<'B'&&!y)的值是:A) 0 B) 语法错C) 1 D) "假"C10.下面程序的输出结果是:main(){ int a=-1, b=4, k;k=(a++<=0)&&(!(b--<=0));printf("%d,%d,%d\n",k,a,b);}A) 1,1,2 B) 1,0,3 C) 0,1,2 D) 0,0,3B11.已知字母A的ASCII码为十进制的65,下面程序的输出是:main(){ char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}A) 67,D B) B,C C) C,D D) 不确定的值A12.下面程序的输出的是main(){ int x=10,y=3;printf("%d\n",y=x/y);}A) 0 B) 1 C) 3 D) 不确定的值C二、程序设计题1.从键盘上输入一个小写字母,编程输出其对应的大写字母以及它们的十进制ASCII码。
C语言-第3课 最简单的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.下列可以正确表示字符型常量的是。
C语言程序设计各章练习题
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语言程序设计_第三阶段练习
考试科目:《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. 以下枚举类型的定义中正确的是()。
c语言程序设计习题1-4章练习
int a=1,b=2,c=3,d=4,k;
k=a>b?a:c>d?c:d
4.已知:int a=5;则执行a+=a-=a*a;语句后,a的值为【6】。
5.下面程序的运行结果是x=【7】,y=【8】。
main( )
{ float x=4.9;int y;
y=(int)x;
char ch;
scanf("%c",&ch);
ch=(ch>=′A′&&ch<=′Z′)?(【1】):ch
printf("【2】\\n",ch);
2.下面程序段的执行结果是x=【3】,y=【4】。
inta=3,b=5,x,y;
x=a+1,b+6;
y=(a+1,b+6);
printf("x=%d,y=%d",x,y);
B)11.000000,12.000000,13
C)11.0000000,12,13
D)11,12.000000,13
15.执行以下程序后x的值为【】。
unsigned int x=65535;
printf("%d\\n",x);
A) 65535B)1C)有错误D)-1
二、填空题
1.下面程序段的功能是输出大写字母对应的小写字母的ASCII码,请填空。
12.执行下面程序段,给x、y赋值时,不能作为数据分隔符的是【】。
int x,y;
scanf("%d%d",&x,&y);
A)空格B)Tab键C)回车D)逗号
13.下面合法的语句是【】。
C语言程序设计练习题第3部分答案
C程序设计语言练习题第三部分63.已知:int x; 则下面说明指针变量pb的语句是正确的。
A) int pb=&x; B)int *pb=x; C)int *pb=&x D)*pb=*x;64.有如下程序段:int *p,a,b=1;p=&a;*p=10;a=*p+b;执行该程序段后,a值是。
A) 12 B) 11 C) 10 D) 编译出错65.若有说明:int i,j=2,*p=&i;,则能完成i=j赋值功能的语句是。
A) i=*p; B) *p=*&j; C) i=&j; D) i=**p;66.已知:int a,*p=&a; 则为了得到变量a的值,下列错误的表达式为______。
A) *&p B) *p C) p[0] D) *&a67.已知static int a[2][3]={2,4,6,8,10,12};正确表示数组元素地址的是__。
A) *(a+1)B) a[1]+2 C) a[1]+3 D) a[0][0]68.已知int a[3][4],*p=*a; p+=6;那么*p和______的值相同。
A) *(a+6) B) *(&a[0]+6) C) *(a[1]+2)D) *(&a[0][0]+6)69.已知说明int (*p)[M]; 其中p是______。
A) M个指向整型变量的指针B) 指向M个整型变量的函数指针C) 一个指向具有M个整型元素的一维数组的指针D) 具有M个指针元素的一维指针数组,每个元素都只能指向整型变量70.若有定义和语句:int c[4][5], (*cp)[5]; cp=c;则对c数组元素的引用正确的是哪个?A)cp+1 B)*(cp+3) C)*(cp+1)+3 D)*(*cp+2)71.设有以下定义:int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};int (*prt)[3]=a,*p=a[0];则下列能够正确表示数组元素a[1][2]的表达式是__________。
C语言程序设计第三章 (2)
举例 int a=10; short b=100 int short b=100; unsigned int short b=100; long d=212365; int long d=212365; unsigned int long d=212365;
练习题
练习
• char c; 等价 • c=65; 是否等价于c= 'A' • printf(“%d %c”,c,c);输入的结果是多少呢?
65 A
注意:
• • • • • int a; char b; a=65; b=‘A’; 不等价,所占内存空间不同。 问变量a 的值和变量b的值是否等价。
练习题
price ?abc int name float name age 8ab year a%d 以上哪些是正确的标识符,哪些不是?
price name age year a b 都是 正确的标识符 ?abc int float 8ab a%d 不能是 标识符
练习题
下列选项中,不能用作标识符的是( )
设有定义:float a=2,b=4,h=3;,以下C语言表达式与代数
A)(a+b)*h/2
ab 式_______________ h 2
计算结果不相符的是( ) B)(1/2)*(a+b)*h
B
C)(a+b)*h*1/2 D)h/2*(a+b)
2014-3-16
自加、自减运算符P53 自加运算(i++, ++i) 相同点:++i 和 i++的作用都等同于i=i+1 不同点:++i是先给i=i+1,然后再引用i的值。 i++是先引用i的值,然后i=i+1 自减运算(i- -, - -i) 相同点:- -i 和 i- -的作用都等同于i=i-1 不同点:- -i是先给i=i-1,然后再引用i的值。 i--是先引用i的值,然后i=i-1
C语言程序设计 第3章 习题
D. '\72'
(4)C 语言中的基本类型包括( )
A. 整型、实型、逻辑型
B. 整型、实型、逻辑型、字符型
C. 整型、逻辑型、字符型
D. 整型、实型、字符型
(5)以下所列的 C 语言常量中,错误的是( )
A. 'abc' B. "12`12" C. "0"
D. ""
(6)以下有关 C 语言标识符的描述中,正确的是( )
5. 请写出下面程序的输出结果: main ( ) { char c1='a', c2='b' ,c3='c' , c4='\110',c5 ; c5=c4+1; printf("a%cb%cc\t\abc\n",c1,c2,c3); printf("%c%c\n",c4,c5); }
6. 分析以下程序的功能: # include <stdio.h> main ( ) { char ch; scanf("%c",&ch); printf("%c%c%c\n",ch-1,ch,ch+1); }
(13)若有以下定义和语句,则输出结果是( ) char c1='b',c2='e'; printf("%d,%c",c2-c1,c2-'a'+'A') ; A.2,M B. 3,E C. 2,E D.输出项对应的格式控制一致,输出结果不确定
(14)为使下列程序段输出“123,456,78”,要由键盘输入数据,正确的输入是( ) int i,j,k; scanf("%d,3%d%d", &i,&j,&k); printf("%d,%d,%d\n", i,j,k) ; A.12345678 B.123,456,78 C.123,45678 D.123,*45678
C语言程序设计教程第三章练习题题目
单选题1、若定义a=3,b=4,执行printf(“%d, %d”,(a,b),(b,a));的输出结果为()。
,4,3,3,42、如果要求在if后的判断条件是a不等于0,则下列选项中能正确表达这一关系的是()。
<>0B.!a=03、为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。
A.缩排位置相同的ifB.在其之前未配对的ifC.在其之前尚未配对的最近的ifD.同一行上的if4、有定义int t = 0;则有循环while(t=1){…},则下列关于while循环语句的描述中正确的是()。
A.循环控制表达式的值为0B.循环控制表达式的值为1C.循环控制表达式的值不合法D.以上说法都不对5、若有定义:int x ,i;则下列for循环语句:for(i = 0,x = 0; i<= 9 && x!=876;i++)scanf(“%d”,&x);下列选项中,描述正确的是()A.最多执行10次B.最多执行9次C.是无限循环D.循环体一次也不执行6、关于下面的for循环语句int i,k;for(i = 0,k = -1;k = 1;i++,k++) printf(“*****”);下列选项中,描述正确的是()A.判断循环结束的条件非法B.是无限循环C.只循环一次D.一次也不循环7、C语言程序的三种基本结构是()。
A.顺序结构,选择结构,循环结构B.递归结构,循环结构,转移结构C.嵌套结构,递归结构,顺序结构D.循环结构,转移结构,顺序结构8、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为()。
<>0B.!a=09、两次运行下面的程序,如果从键盘上分别输入6和4,那么输出结果是()。
void main(){int x;scanf("%d",&x);if (x++ > 5)printf("%d",x);elseprintf("%d\n",x--);}和5和3和4和410、运行以下程序后,如果从键盘上输入china#,那么输出结果为()。
《C语言程序设计》期末程序设计练习题库_12月11日更新
9、输入一串字符,以回车键作为结束,统计出其中英文字母、数字和其他字符的个数。
10.编程计算 2!+4!+6!+8!+10!+12!+14!+16!+18!+20!,并输出结果。
第 4 章 数组
1、采用“冒泡法”对任意输入的 10 个整数按由小到大的顺序排序。算法过程必须小的数向上冒,也就是第 一遍扫描结束,最小的数组元数放在 a[0],第二遍扫描结束,次小的数组元数放在 a[1]。要求程序代码完 整,程序在运行过程中输入 10 个整数,10 个整数一行输入,每个整数输入时空一个空格;在排序算法处理 后,按由小到达的顺序输出,输出也一行输出,每个整数之间空一个空格。
3、编写函数 fun,该函数的功能是:求出整型数组 a 中 N 个数值的平均值,并将大于平均值 的整数放入数组 b 中,数组 b 中的个数作为函数值返回。在 main 函数中,输入 N 个整数,调 用 fun 函数,最后输出这 N 个整数中所有大于平均值的整数,每行输出 5 个数。 4、数组元素作为函数参数,任输入10个三位数,计算有多少个数其各位数字和是5 5、用递归法求 n!
6、请编写一个函数完成将用户输入的一串整型数字字符转换为整型数值, 例如用户输入串”567”, 应该能 返回整数值 567。在 main()函数中接收用户输入的数字,调用函数进行转换,并输出转换后的结果(必须是 输出整型) 。 7、请编写一函数 strcpy,函数原型声明为:void strcpy(char* target, char *src); 能实现将字符串 src 拷贝到字符数组 target。 在 main()函数中接收用户输入的一个字符串 (不超出 256 个字符) , 调用 strcpy 函数将其复制到一个数组中,并输出字符数组的内容。 8、请编写一函数 getFileExtName,函数原型声明为:char *getFileExtName(char *filename);能实现返 回传入文件名的扩展名,例如用户传入的文件名为”d:\\finalexame\\exam.c”,函数返回字符串”c”。 在 main()函数中接收用户输入的一个文件名(含路径) ,调用函数获取其扩展名,并输出的结果。 9、请编写一函数 strcmp,函数原型声明为:int strcmp(char *str1, char *str2);能实现两个串的大小 比较,若 str1 比 str2 大返回 1,若 str1 等于 str2 返回 0,若 str1 小于 str2 返回-1。在 main()函数中接 收用户输入的两个字符串,调用 strcmp 函数进行比较,并输出比较的结果。 10. 请编写一函数 draw,函数原型声明为:void drawPyramid(int level);能实现绘制 level 层高度的金 字塔。例如,输入层高为 12,输出如下的图形
C语言第三、四章作业题答案
东华理工大学:C语言第三章作业题C程序设计第三章闭/开卷课程类别:考试/考查第三章顺序结构程序设计一、选择题1.C语言中调用printf进行输出时需要注意,在格式控制串中,格式说明与输出项的个数必须相同。
如果格式说明的个数小于输出项的个数,多余的输出项将 A ;如果格式说明的个数多于输出项的个数,则对于多余的格式将输出不定值(或0)。
A)不予输出B)输出空格C)照样输出D)输出不定值或02.在scanf函数的格式控制中,格式说明的类型与输入的类型应该一一对应匹配。
如果类型不匹配,系统 B 。
A)不予接收B)并不给出出错信息,但不可能得出正确信息数据C)能接受正确输入D)给出出错信息,不予接收输入3.下列说法正确的是 D 。
A)输入项可以是一个实型常量,如scanf("%f",4.8);B)只有格式控制,没有输入项也能进行正确输入,如scanf("a=%d,b=%d");C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf("%5.3f",&f);D)当输入数据时,必须指明变量的地址,如scanf("%f",&f);4.根据题目中已给出的数据的输入和输出形式,程序中输入/输出语句的正确是B 。
main(){int a;float x;printf("input a,x:");输入语句输出语句}输入形式input a,x:3 2.1输出形式a+x=5.10A)scanf("%d,%f",&a,&x);printf("\na+x=%4.2f",a+x);B)scanf("%d %f",&a.&x);printf("\na+x=%4.2f",a+x);C)scanf("%d %f",&a,&x);printf("\na+x=%6.1f",a+x);D)scanf("%d %3.1f",&a,&x);printf("\na+x=%4.2f",a+x);5.以下程序的输出结果是 A 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、单项选择题
题目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,则执行“switc h(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只能使用在任一种循环语句的循环体中。
对
错
三、程序填空题
#include<stdio.h>
void main() {
int a=5,b=8,c;
if(3*a>2*b) c=2*a+3*b;
else if(a==b) c=a*a+b*b;
else c=a*b+3;
printf("c=%d\n",c);
}
答案:
题目28
#include<stdio.h>
void main() {
int x=5,y=0;
switch(2*x-3) {
case 4: y+=x;
case 7: y+=2*x+1;
case 10: y+=3*x;
}
printf("y=%d\n",y);
题目30
#include<stdio.h>
void main() {
int i,s=0;
for(i=16; i>0; i-=2)
if(i%3==0 || i%4==0) s+=i;
printf("s=%d\n",s);
}
答案:
题目31
#include<stdio.h>
void main() {
int i,x,y,s=0;
scanf("%d %d",&x,&y);
if(x>y) {i=x; x=y; y=i;}
for(i=x; i<=y; i++)
if(i%2==1) s+=i*i;
printf("s=%d\n",s);
}
供参考,感谢您的配合和支持)。