江西理工大学C程序设计章节习题
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8.下列关于switch语句和break语句的结论中,只有 是正确的。 A)break语句是switch语句中的一部分
B
B)在switch语句中可以根据需要使用或不使用break语 句 C)在switch语句中必须使用break语句 D)以上三个结论中有两个是正确的
JIANGXI UNIVERSITY OF SCIENCE & TECHNOLOGY
D
A)20
B)24
C)25
D)15
JIANGXI UNIVERSITY OF SCIENCE & TECHNOLOGY
12、若二维数组a有m列,则计算任一元素a[i][j]在数组中 相对位置的公式为 (假设a[0][0]位于 数组的第一个位置上)
A
A)i*m+j
B)j*m+I
C)i*m+j-1
D)i*m+j+1
A
JIANGXI UNIVERSITY OF SCIENCE & TECHNOLOGY
26、如果一个文件要引用另一文件中变量,必须通过( 来实现。 ① 用extern对变量说明 ③ #define预处理命令
1)
② #include预处理命令 ④ 用typedef重新定义
9.数组元素做实参时,实参与其对应的形参之间的数 据传递方式是________。
D
3、以下能正确定义一维数组的是( )。 A) int a[5]={0,1,2,3,4,5}; B) int a[5]= "012345"; C) char a[ ]= "012345"; D) char a[5]={0,1,2,3,4,5};
C
JIANGXI UNIVERSITY OF SCIENCE & TECHNOLOGY
JIANGXI UNIVERSITY OF SCIENCE & TECHNOLOGY
#include "stdio.h" #define N 2 #define M N+1 #define NUM 2*M+1 main() { int i; for(i=1;i<=NUM;i++)printf("%d\n",i); } 该程序中的for循环执行的次数是( A)5 B)6 C)7 D)8
JIANGXI UNIVERSITY OF SCIENCE & TECHNOLOGY
4.以下程序的输出结果是(
D
)
main() { int x=10,y=10,i; for(i=0;x>8;y=++i) printf(“%d %d”,x--,y); } A)10 1 9 2 C)10 9 9 0
Leabharlann Baidu
B) 9 8 7 6
A
)。
C
JIANGXI UNIVERSITY OF SCIENCE & TECHNOLOGY
6、设有:int k=017, g=111; 执行printf(“%d, %x\n ”,k,g)
后结果为( ) A)15,6f B)f,6f
A
C)f,111
D)15,111
10、设有:int a=1,b=2,c=3,d=4,m=2,n=2; 执行 (m=a>b)&&(n=c>d)后,n的值为( ) A)1 B)2 C) 3 D) 4
5.设 int x=1, y=1; 表达式(!x||y--)的值是( A) 0 B) 1 C) 2 D) -1 7.以下循环体的执行次数是( )。 A) 3 B) 2 C) 1 D) 0
B
)。
C
main() { int i,j; for(i=0,j=1; i<=j+1; i+=2, j--) printf(“%d \n”,i); }
B)
JIANGXI UNIVERSITY OF SCIENCE & TECHNOLOGY
11、若有说明:int a[][4]={0,0};则下面不正确的叙 述是( ) A)数组a的每个元素都可得到初值0 B)二维数组a的第一维大小为1 C)当初值的个数能被第二维的常量表达式的值除尽时, 所得商数就是第一维的大小 D)只有元素a[0][0]和a[0][1]可得到初值, 其余元素均得不到确定的初值
B)函数组成 C)若干过程组成 D)若干子程序组成
JIANGXI UNIVERSITY OF SCIENCE & TECHNOLOGY
3、下列可用于C语言用户标识符的一组是
A)void, define, WORD B)a3_b3, _123,Car C)For, -abc, IF Case D)2a, DO, sizeof
A)3B)4C)11D)12
JIANGXI UNIVERSITY OF SCIENCE & TECHNOLOGY
3.下面的程序会( ) main() { int x=3,y=0,z=0; if(x=y+z) printf(“****”); else printf(“####”); } A)有语法错误不能通过编译 B)输出**** C、可以通过编译,但不能通过连接,因而不能运行 D、输出####
D)10 10 9 1
JIANGXI UNIVERSITY OF SCIENCE & TECHNOLOGY
5、以下对C语言函数的描述中,正确的是(
A、C程序由一个或一个以上的函数组成 B、C函数既可以嵌套定义又可以递归调用 C、函数必须有返回值,否则不能使用函数 D、C程序中调用关系的所有函数必须放在同一个程序文 件中 3ae ,则不正确的C表达式是 3.若有代数式 bc A)a/b/c*e*3 B)3*a*e/b/c C)3*a*e/b*c D)a*e/c/b*3
D
JIANGXI UNIVERSITY OF SCIENCE & TECHNOLOGY
1.1 C语言发展历史
程序设计语言的发展
机 器 语 言 汇 编 语 言 高 级 语 言
接近于人的自然 语言和数学语言
面向过程
面向对象
用助记符号描述的指令系统,可进行地址、位操作 可读性,移植性好,编写应用程序 CPU指令系统,由 0、1序列构成的指令码组成 C语言兼有高级和低级语言的功能 面向机器的语言 如 ADD A, 一般较难实现汇编语言的某些功能 B 加 适合写系统软件和应用软件 如: 10000000 编写系统软件,直接对硬件操作,可读性,移植性差 如:地址和位的操作 10010000 减 又称中级语言
JIANGXI UNIVERSITY OF SCIENCE & TECHNOLOGY
10、 设有定义:int a,*pa=&a;以下scanf语句中能正确为变
量a读入数据的是____________ A)scanf(“%d”,pa); B)scanf(“%d”,a); C)scanf(“%d”,&pa); D)scanf(“%d”,*pa);
A)双向值传递方式 C)单向值传递方式
C
B)地址传递方式 D)用户指定传递方式
JIANGXI UNIVERSITY OF SCIENCE & TECHNOLOGY
1.将两个数从小到大输出。 void main() {float a,b, ; scanf ( "%f%f" , ); &a,&b if (a>b) {t=a; ; b=t; } printf(“The num small to big : %d %d”,a,b); }
12、有以下程序 void f(int v , int w) { int t; t=v;v=w;w=t; } main( ) { int x=1,y=3,z=2; if(x>y) f(x,y); else if(y>z) f(y,z); else f(x,z); printf(“%d,%d,%d\n”,x,y,z); 执行后输出结果是____________ A)1,2,3 B)3,1,2
D
JIANGXI UNIVERSITY OF SCIENCE & TECHNOLOGY
8、下面不能正确进行字符串赋值操作的语句是( ) A) char s[5]={"ABCD"}; B) char s[5]; s="ABCD";
C
C) char *s;s="ABCDEF";
D) char *s="ABCD";
A
10、表示图中坐标轴上阴影部分的正确表达式是( x -4 -1 0 1 3 ①-1<=x && 1<=x||x<=3 ②((x<=-1)&&x>=-4)&&(1<=x||x<=3) ③x<=-1&&x>=-4||x>=1&&x<=3 ④!(-1<x<1)||!(x>3)
3
)
JIANGXI UNIVERSITY OF SCIENCE & TECHNOLOGY
B
JIANGXI UNIVERSITY OF SCIENCE & TECHNOLOGY
7.若用数组名作为函数调用的实参,传递给形参的是_______ A)全部元素的值 C)数组的首地址 B)第一个元素的值 D)数组元素的个数
C
8.当说明一个结构体变量时系统分配给它的内存是________ A)各成员所需内存量的总和 B)结构中第一个成员所需内存量
4、执行下列程序段后输出的结果是(
x = 9; while (x > 7) { printf(“*”); x- -; } A) **** B) *** C) **
C
)。
D) *
5、设char str1[10] = “ABCDE”, str2[10] = “xyz”;
则执行语句 printf(“%d”, strlen(strcpy(str1, str2))); 后的输出结果是( ) A) 9 B) 8 C) 5 D)3
} D)2,3,1
A
C)1,3,2
JIANGXI UNIVERSITY OF SCIENCE & TECHNOLOGY
21. 有以下程序 main() { int i; for(i=0;i<3;i++) switch(i) { case 0:printf("%d",i); case 2:printf("%d",i); default:printf("%d",i); } }程序运行后的输出结果是____________ A)022111 B)021021 C)000122 D)012
1 0 2 2 5 7 13 20 33 输出结果:
JIANGXI UNIVERSITY OF SCIENCE & TECHNOLOGY
1.以下程序的输出结果是 int f() { static int i=0; int s=1; s+=i; i++; return s; } main() { int i,a=0; for(i=0;i<5;i++)a+=f(); printf("%d\n",a); }
A
C)成员中占内存量最大者所需的容量 D)结构中最后一个成员所需内存量
JIANGXI UNIVERSITY OF SCIENCE & TECHNOLOGY
9.若有说明:int *p,m=5,n;以下正确的程序段是________ A)p=&n; B) p=&n; scanf(“%d”,&p); C)scanf(“%d”,&n); p=&n; scanf(“%d”,*p); D)p=n; *p=&m;
t
a=b
JIANGXI UNIVERSITY OF SCIENCE & TECHNOLOGY
4. #include <stdio.h> void main() { int a[8]={1,0,1,0,1,0,1,0},i; for(i=2;i<8;i++) a[i]+=a[i-1]+a[i-2]; for(i=0;i<8;i++) printf(“%d”,a[i]); printf(“\n”); }
JIANGXI UNIVERSITY OF SCIENCE & TECHNOLOGY
C程序设计章节习题
JIANGXI UNIVERSITY OF SCIENCE & TECHNOLOGY
1.以下说法中正确的是( ) A)C语言程序总是从第一个定义的函数开始执行 B)在C语言程序中,要调用的函数必须在main()函数中 定义 C)C语言程序总是从main()函数开始执行 D)C语言程序中的main()函数必须放在程序的开始部分 2、一个C语言程序是由( ) A)一个主程序和若干子程序组成
4、若有定义:int a=7;float x=2.5,y=4.7;则表 达式x+a%3*(int)(x+y)%2/4的值是 A)2.500000 B)2.750000 C)3.500000 D)0.000000
JIANGXI UNIVERSITY OF SCIENCE & TECHNOLOGY
5、若x,i,j和k都是int型变量,则计算表达式x= (i=4,j=16,k=32)后,x的值为( ) A)4 B)16 C)32 D)52 6、设有int x=11;则表达式(x++*1/3)的值是( )