C语言程序设计-第3章 练习题

合集下载

第三章C语言单选练习

第三章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程序设计作业

第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章练习题

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语言 第三章 顺序结构程序设计期末测试习题与答案

C语言 第三章 顺序结构程序设计期末测试习题与答案
A.scanf(“a=%d,b=%d,c=%d”,&a,&b,&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章补充习题及答案

C语言程序设计(第3版)第3章补充习题及答案
char c=’A’;
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章练习题有答案

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程序设计 练习题

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章)习题答案(魏为民)

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码。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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);
}
供参考,感谢您的配合和支持)。

相关文档
最新文档