C语言期末复习资料
C语言期末复习资料
一、选择题型
1.下列运算符中,优先级最高的是________。
A.-> B.++ C.&& D.=
2.________是合法的用户自定义标识符。
A、b-b
B、float
C、
D、_isw
3.若变量已正确定义并赋值,表达式________不符合C语言语法。
A、a*b/c;
B、3.14%2
C、2, b
D、a/b/c
4.运算符________不能做为单目运算符。
A./ B.& C.* D.+
5.________是不正确的字符常量。
A、'\n'
B、'1'
C、"a"
D、'\101'
6.已知字符‘a’的ASCII码为97 ,执行下列语句的输出是________。printf ("%c%d", ’b’, ’b’+1 ) ;
A.b99 B.98c C.9899 D.bc
7.在C 程序中,用________表示逻辑值“真”。
A、1
B、非0 的数
C、非1 的数
D、大于0 的数
8.________把x、y定义成float类型变量,并赋同一初值3.14。
A、float x, y=3.14;
B、float x, y=2*3.14;
C、float x=3.14, y=x=3.14;
D、float x=y=3.14;
9.若变量已正确定义,表达式________的值不是2。
A、2&3
B、1<<1
C、a= =2
D、1^3
10.表达式sizeof("\nsum=%d\n") 的值是____。
A.8 B.9 C.10 D.11
11.表达式!(x>0&&y>0) 等价于________。
A.!(x>0)||!(y>0) B.!x>0||!y>0 C.!x>0&&!y>0 D.!(x>0)&&!(y>0)
12.若变量已正确定义,语句“if(a>b) k=0; else k=1;”和________等价。
A、k=(a>b)?1:0;
B、k=a>b;
C、k=a<=b;
D、a<=b ? 0 : 1;
13.设变量定义为“int a, b;”,执行下列语句时,输入________,则a和b的值
都是10。
scanf("a=%d, b=%d",&a, &b);
A、10 10
B、10, 10
C、a=10 b=10
D、a=10, b=10
14.数组定义为int a[11][11],则数组a 有________个数组元素。
A.12 B.144 C.100 D.121
15.下列程序的输出结果是________。
fun(int a, int b, int c)
{ c =a*b; }
main( )
{ int c;
fun(2,3,c);
printf(”%d\n”,c);
}
A、0
B、1
C、6
D、无法确定
16.执行语句printf("________", "hello"); 将得到出错信息。
A.%u B.%s C.%x D.%f
17.在C程序中,若对函数类型未加说明,则函数的隐含类型为________。
A、int
B、double
C、void
D、char
18.在C 语言程序中,在函数内部定义的变量称为________。
A.全局变量B.外部变量C.局部变量D.内部变量
19.表达式strlen(”hello”) 的值是________。
A、4
B、5
C、6
D、7
20.设变量定义为“int a[4];”,则表达式________不符合C语言语法。
A、*a
B、a[0]
C、a
D、a++
21.对于变量定义:int **p[10], p 是一个________。
A.指针B.数组C.函数D.数组元素
22.设变量定义为“int x, *p=&x;”,则&*p相当于________。
A、p
B、*p
C、x
D、*&x
23.若变量已正确定义,___不能使指针p成为空指针。
A、p=EOF
B、p=0
C、p=’\0’
D、p=NULL
24.对于以下的变量定义,表达式________不符合C语言语法。
struct node {
int len;
char *pk;
} x = {2, "right"}, *p = &x;
A、p->pk
B、*p.pk
C、*p->pk
D、*x.pk
25.对于以下的变量定义,表达式________是不正确的。
struct node {
float x, y;
} point, *p=&point;
A.p->x=2.0 B.(*p).y=3.0 C.point.x=2.0 D.*p->y=3.0
二、填空题型
1. 表达式1<0<5 的值是________。
2. 表达式~(10>>1^ ~5) 的值是________。
3.表示“x≥y≥z”的表达式是________________。
4.下列程序段的输出是________。
printf("%o\n", 010<<1^1);
5.下列程序段的输出是________。
int k;
float s;
for (k=0, s=0; k < 7; k ++)
s += k/2;
printf("%d, %f\n", k, s);
6. 下列程序段的输出结果是________。
int k, s;
for(k=s=0; k<10&&s<=10; s+=k)
k++;
printf("k=%d, s=%d", k, s);
7.下列程序段的输出是________。
#define f(a, b, x) a*x+b
printf("%d, %d\n", f(3,2,1), f(6, 5, f(3, 2, 1)));
8.下列程序段的输出是________。
main()
{ int k;
for(k=1; k<5; k++) {
if(k % 2) printf("*");
else continue;
printf("#");
}
}
9. 设变量已正确定义,在程序段B中填入正确的内容,使程序段A和程序段B
等价。
程序段A
for(k=s=0; k<=10; s+=a[k++])
if (a[k]<0) break;
程序段B
for(k=0, s=0; ; s+=a[k++])
if (________) break;
10.下列程序段的输出是________。
# include
int f(int x)
{ static y=1;
y++;
x += y;
return x;
}
void main()
{ int k;
k=f(3);
printf("%d %d\n", k, f(k));
}
11.下列程序段的输出是________。
int *p, *q, k = 5 , j = 6 ;
q = &k ; p = q ; q = &j ;
printf("%d", *p);
12.函数
void f(char s[ ], char t[ ])
{ int k=0;
while (s[k]=t[k]) k++;
}
等价于
void f(char *s, char *t)
{ while (________);
}
13.对于以下递归函数f,调用f (3) 的返回值是________。
f (int n)
{ return ((n<=0) ? n: f(n-1)+f(n-2));
}
14.下列程序段的输出是________。
char *a[2]={"one", "two"}, **p=a;
printf("%s,", *(p++)+1);
printf("%c\n", **p-1);
15. 下列程序的输出结果是________。
#include
void p(int *x,int y)
{ ++ *x;
y --;
}
void main()
{ int x=0, y=3;
p(&x, y);
printf("%d, %d",x, y);
}
三、程序阅读题型
1. 下列程序的输出结果是__________。
#include
void f(int n)
{ if(n<0) {
putchar('-');
n = -n;
}
if(n/10) f(n/10);
putchar(n%10+'0');
}
main()
{
f(-610);
}
2. 输入0 10 2 7后,下列程序的输出结果是________。
#include
void p(int v[])
{ int i, k, temp;
for (i=1; i<4; i++)
for(k=i-1; k>=0 && v[k] temp=v[k]; v[k]=v[k+1]; v[k+1]=temp; } } main() { int k, a[4]; for(k=0; k<4; k++) scanf("%d", &a[k]); p(a); for(k=0; k<4; k++) printf("%d ", a[k]); } 3. 输入How are you?<回车>后,下列程序的输出结果是________ (函数strcmp(s, t)的功能:若s 和t 相等,返回0;若s 大于t,返回一个正数;若s 小于t,返回一个负数) #include #include void main( ) { int i; char s[80], ss[80]; scanf("%s", s); strcpy(ss,s); for(i=1; i<3; i++){ scanf("%s", s); if(strcmp(s, ss) > 0) strcpy(ss,s); } printf("%s\n", ss); } 四、程序填空题型 1. 验证哥德巴赫猜想:任何一个大于6的偶数均可表示为两个素数之和。 要求将6~100之间的偶数都表示成两个素数之和。素数指只能被1和自身整除的正整数,1不是素数,2是素数。 #include int prime(int n) /* 判断n是否为素数*/ { int k; for (k=2; k<=n/2; k++) if (n%k==0) return 0; return (1) ___________ ; } main() { int i, k; for (i=6 ; i<=100; i+=2) for (k=2; k<=i/2; k++) if ((2) ________________ ) { printf("%d = %d +%d\n", i, k, i-k); break; } } 2. 输入10个浮点数,调用函数f(x)计算并输出相应的函数值。 f(x)的功能是计算分段函数: x2+2x+1 x<0 y= 0 x=0 3 x>0 #include (3)________________ { if (x<0) (4) ________________ else (5) ________________ else return 3; } void main( ) { int k; float x; for(k=1; k<=10; k++){ scanf("%f", &x); printf("y=%f\n", f(x)); } } 3. 下列程序调用swap函数交换a和b的值,并输出交换后的a和b的值。 程序的输出结果是:After swap 5, 3。 void main() { int a, b; a = 3, b = 5; swap( (6)_________________ ) ; printf("After swap %d, %d", a, b); } swap( (7)___ __________________ ) { int t; (8)___ _________ ; (9)_____________ ; (10)______________; 4. 输入1个长整数,求各位数字的平方和。 例如:输入-123,输出14。 #include void main( ) { int digit; long in,s; scanf("%ld", &in); s=0; (11)__________________________; while(in>0){ (12)___________________; s=s+digit*digit; (13)_________________; } printf("sum=%ld\n", s); } 5. 函数sort 使用冒泡法将一维整型数组中各元素按值从大到小排序。 void sort( int a[ ], int n) { int k, j, t; for(k=1; k for( (14)________; j < n-k; j++) if( (15) ___________________ (16) ________________________ } 试卷编号:11201 所属语言:C语言 试卷方案:C语言期末考试 试卷总分:100分 共有题型:4种 一、单项选择共30题(共计60分) 第1题(2.0分) 设有定义:int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是( A ). A:k++ B:k+=1 C:++k D:k+1 第2题(2.0分) 已知int i=5,执行语句i+=++i后, i的值是( C). A:10 B:11 C:12 D:A、B、C都不对 第3题(2.0分) 以下程序的功能是:给r输入数据后,计算半径为r的圆面积s.程序在编译时出错. #include C:输出语句中格式描述符非法 D:计算圆面积的赋值语句中使用了非法变量 第4题(2.0分) "\\\″ABC\″\\″的长度是( B ). A:11 B:7 C:5 D:3 第5题(2.0分) 已知int j,i=1;,执行语句j=–i++;后,j的值是( C ). A:1 B:2 C:-1 D:-2 第6题(2.0分) 有以下程序: #include 试卷编号:11201 所属语言:试卷方案:试卷总分:共有题型:C 语言 C 语言期末考试100 分 4种 一、单项选择共30 题(共计60 分)第1 题设有定义分) :int k=0;, 以下选项的四个表达式中与其他三个表达式的值不相同的是( A ). A:k++ B:k+=1 C:++k D:k+1 分) 第2题 已知int i=5, 执行语句i+=++i 后, i 的值是( C). A:10 B:11 C:12 D:A、B、C都不对 第3题(分) 以下程序的功能是: 给r 输入数据后, 计算半径为r 的圆面积s. 程序在编译时出错. #include <> void main( ) /* Beginning */ { int r; float s; scanf("%d",&r); s=p*r*r; printf("s=%f\n",s); 出错的原因是(D ). A: 注释语句书写位置错误 B: 存放圆半径的变量r 不应该定义为整型 B:-3 C :输岀语句中格式描述符非法 D: 计算圆面积的赋值语句中使用了非法变量 A:1 B:2 C:-1 D:-2 第 6题 (分) 有以下程序 : #include <> void main( ) { int s=0, a=1, n; scanf("%d", &n); do{ s+=1; a=a — 2; }while (a!=n ); printf ("%d\n", s ); } 若要使程序的输岀值为 2, 则应该从键盘输入给 n 的值是 ( B ). A:-1 第 4题 (分) "ABC " 〃的长度是(B ). A:11 B:7 C:5 D:3 第 5题 (分) 已知 int j,i=1;, 执行语句j= - i++;后,j 的值是(C ). 综合练习 一、判断题 1.在Trubo_C中运行一个C程序时,实际上是运行后缀为.EXE的可执行文件。2.在C语言中整数可用十进制数、八进制数和二进制数三种数制表示。 3.在程序的运行过程中,整型常量的值是可以改变的。 4. C程序中,用/* 和 */界定的部分称之为注释,注释部分对程序的运行不起作用。5.大括弧 { } 只能用来括复合语句。 6. do_while语句构成的循环不能用其它循环语句来代替。 7.不能用scanf 函数输入字符。 8.在 C 程序中,函数的定义不可以嵌套,但函数的调用可以嵌套。 9. 一个变量的作用域取决于变量定义语句在程序中出现的位置。 10.C 语言的一个编译预处理命令用 # 开始,最后加分号。 11. C语言源程序文件经过编译、连接之后生成一个后缀为.EXE的文件。 12. C语言中以 %o开头的数是八进制整数。 13.在程序的运行过程中,符号常量的值是可以改变的。 14.在 C 程序中,APH 和 aph 代表不同的变量。 15.一个复合语句在语法上被认为是一条语句。 16. 只能用while语句构成循环。 17.不能用printf函数输出字符。 18. C程序中各函数之间既允许直接递归调用也允许间接递归调用。 19. 在函数外部定义的变量称为全局变量。 20.宏定义的命令行可以看作是一条C 语句。 21. C语言源程序是可以用来直接运行的程序。 22. C语言中以 %x 开头的数是十六进制整数。 23. C程序中定义的变量,代表内存中的一个存储单元。 24.在 C 程序中,9ab是非法的用户标识符。 25. C语句必须用一个分号作为结束。 26. do_while语句构成的循环不能用break语句退出。 27. scanf 函数是 c 语言的标准输入函数。 28. C程序的main函数不能有参数。 29. 在函数内部定义的变量称为局部变量。 30.用#include包含的头文件的后缀必须是.h。 31. C 语言程序的三种基本结构是顺序结构、选择结构和循环结构。 32.在C语言中整数只能表示为十进制数的形式。 33.在 C 程序中,无论多少大的整数还是实数,都能准确无误的表示。 34. Turbo-C 语言中,字符类型数据占1个字节。 35.空语句是合法的C语句。 36. while语句的循环体不能是复合语句。 37. printf 函数是 c 语言的标准输出函数。 38. C程序的main函数可以有参数,但参数不能是指针类型。 39.在 main函数中定义的变量称为全局变量。 40.#include 和 #define 不是 C 语句。 41. C 语言程序的三种基本结构是嵌套结构、选择结构和循环结构。 42. C语言中 018是合法的八进制整数。 43. C程序中所要用到的变量应该先定义,后使用。 44.十六进制数0x11的十进制数是17。 45.赋值语句是一种可执行语句。 第一单元程序设计和C语言 一、选择题 1.C语言的基本构成单位是: A 。 A. 函数 B. 函数和过程 C. 超文本过程 D. 子程序 2.一个C语言程序总是从 B 开始执行。 A. 主过程 B. 主函数 C. 子程序 D.主程序 3.C语言的程序一行写不下时,可以。 A. 用逗号换行 B. 用分号换行 C. 在任意一空格处换行 D. 用回车符换行 4.以下叙述不正确的是: C 。 A. 在C程序中,语句之间必须要用分号";"分隔 B. 若a是实型变量,C程序中a=10是正确的,因为实型变量中允许存放整型数 C. 在C程序中,无论是整数还是实数都能正确无误地表示 D. 在C程序中,%是只能用于整数运算的运算符 5.以下不正确的C语言标识符是 D 。 A. ABC B. abc C. a_bc D. ab.c 6.下列字符串是标识符的是: A 。 A. _HJ B. 9_student C. long D. LINE 1 7.以下说法中正确的是: C 。 A. C语言程序总是从第一个定义的函数开始执行 B. 在C语言程序中,要调用的函数必须放在main()函数中定义 C. C语言程序总是从main()函数开始执行 D. C语言程序中的main()函数必须放在程序的开始部分 8.不合法的常量是: D 。 A. ...\2? B. "" C. ...3? D. (483) 9.已知各变量的类型说明如下,则以下不符合C语言语法的表达式是: A 。 int k,a,b; unsigned long w=5; double x=1.422; A. x%(-3) B. w+=-2 C. k=(a=2,b=3,a+b) D. a+=a=+(b=4)*(a=3) 10.在C语言中,字符型数据在内存中以 D 形式存放。 A. 原码 B. BCD码 C. 反码 D. ASCII码 11.若有定义:int a=7; float x=2.5; y=4.7; 则表达式x+a%3*(int)(x+y)%2/4的值是: A 。 A. 2.500000 B. 2.750000 C. 3.500000 D. 0.000000 12.设有说明:char w; int x; float y; double z; ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━试卷编号:12626 所属语言:Turbo C 所属方案:c语言模拟 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━〖第1题〗『判断』(1分)(题号:6) 在程序中定义了一个结构体类型后,可以多次用它来定义具有该类型的变量。 答案:Y 〖第2题〗『判断』(1分)(题号:22) 关系运算符<= 与 == 的优先级相同。 答案:N 〖第3题〗『判断』(1分)(题号:15) 整数 -32100可以赋值给int型和long int型变量。 答案:Y 〖第4题〗『判断』(1分)(题号:8) 在C语言中,整型数据在内存中占2个字节。 答案:N 〖第5题〗『判断』(1分)(题号:19) C语言本身不提供输入输出语句,输入和输出操作是由函数来实现的。 答案:Y 〖第6题〗『判断』(1分)(题号:27) char c[]="Very Good"; 是一个合法的为字符串数组赋值的语句。 答案:Y 〖第7题〗『判断』(1分)(题号:13) char *p="girl";的含义是定义字符型指针变量p,p的值是字符串"girl"。 答案:N 〖第8题〗『判断』(1分)(题号:12) 结构体类型只有一种。 答案:N 〖第9题〗『判断』(1分)(题号:2) 若有定义和语句: int a;char c;float f;scanf("%d,%c,%f",&a,&c,&f); 若通过键盘输入: 10,A,12.5,则a=10,c='A',f=12.5. 答案:Y 〖第10题〗『判断』(1分)(题号:34) 7&3+12的值是15。 答案:N 〖第1题〗『单项选择』(2分)(题号:201) 当定义一个结构体变量时,系统分配给它的内存是()。 A:各成员所需内存量的总和 B:结构中第一个成员所需内存量 C:结构中最后一个成员所需内存量 D:成员中占内存量最大者所需的容量 答案:A 〖第2题〗『单项选择』(2分)(题号:638) 设有数组定义: char array [ ]="China"; 则数组 array所占的空间为()。 A:4个字节 B:5个字节 C:6个字节 D:7个字节 答案:C 〖第3题〗『单项选择』(2分)(题号:735) fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式必须是()。 A:只写 B:追加 C:读或读写 D:答案B和C都正确 答案:C 一、单项选择题。(每题1分,共20分) 1. C程序的基本单位是:() A.子程序 B.程序 C.子过程 D.函数 2.在C语言中,非法的八进制是:() A.016 B.018 C.017 D.02 3. 不是C语言实型常量的是:() A.55.0 B.0.0 C.55.5 D.55e2.5 4 .字符串“xyzw”在内存中占用的字节数是:() A.6 B.5 C.4 D.3 5. 若已定义f,g为double类型,则表达式:f=1,g=f+5/4的值是:() A.2.0 B.2.25 C.2.1 D.1.5 D.1.5 D.1.5 D.1.5 6. 若有语句char c1=`d`,c2=`g`;printf(“%c,%d\n”,c2- `a`,c2-c1);则输出结果为:() (a的ASCII码值为97) A.M,2 B.G,3 C.G,2 D.D,g 7. 使用语句scanf(“a=%f,b=%d”,&a,&b);输入数据时,正确的数据 输入是:() A.a=2.2,b=3 B.a=2.2 b=3 C.2.2 3 D.2.2,3 8.表示关系12<=x<=y的C语言表达式为:() A.(12<=x)&(x<=y) B. (12<=x)&&(x<=y) C. (12<=x)|(x<=y) D.(12<=x)||(x<=y) 9.设x=1,y=2,m=4,n=3,则表达式x>y?x:m C语言程序设计 期末考试试题及其答案 一、单项选择题(本大题共20题,每题2 分,共40分) 1、以下不是C语言的特点的是( ) A、C语言简洁、紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件进行操作 D、C语言移植性好 2、以下不正确的C语言标识符是( ) A、ABC B、abc C、a_bc D、ab.c 3、一个C语言程序是由( ) A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( ) A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D、可行性 5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( ) A、int B、float C、double D、不确定 6、在C语言中,char型数据在内存中的存储形式是( ) A、补码 B、反码 C、源码 D、ASCII码 7、有如下程序,输入数据:12345M678<cR>后( #include C语言期末考试复习题及答案 一、选择题:下列各题A)、B)、C)、D)四个选项中只有一个是正 确的,请将正确的选项涂写在答案纸上。答在试卷上不得分。 (1)C语言规定:在一个源程序中,main函数的位置 D 。 A)必须在最后B)必须在系统调用的库函数的后面。 C)必须在最开始。。D)可以任意 (2) C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符 A 。 A)必须为字母或下划线。。B)必须为下划线。 C)必须为字母D)可以是字母、数字和下划线中的任一种字符。 (3)下面四个选项中,均是正确的八进制数或十六进制数的选项是 B 。 A)-10 0x8f -011 B) 010 -0x11 0xf1 C) 0abc -017 0xc D) 0a12 -0x123 -0xa (4) C语言中int型数据在内存中占两个字节,则unsegned int取值范围是 A 。 A)0 ~ 65535 B)0 ~ 32767 C)-32767 ~ 32768 D)-32768 ~ 327687 (5) 若有定义:int a = 7; floa x = , y = ; 则表达式x + a % 3 * (int) (x + y) % 2/4 的值是 D 。 A) B) 0.00000 C) D) (6)已知ch是字符型变量,下面不正确的赋值语句是 B 。 A)ch = 5 + 9 ; B) ch= ' a + b '; C) ch = ' \ 0 '; D) ch= '7' + '6' ; (7) 设x , y和z是int型变量,且x = 3, y = 4 , z = 5 则下面表达式中值为0的 C语言期末复习题https://www.360docs.net/doc/8c7382651.html,work Information Technology Company.2020YEAR 《C程序设计》复习题 一、单项选择题(请从4个备选答案中选择最适合的一项,每小题1分,共20分) 1.算法具有5个特性,以下选项中不属于算法特性的是()。 A) 有穷性B) 简洁性C) 有效性D) 确定性 2.设有定义:float a=2,b=4,h=3;,其中a为梯形的上底,b为梯形的下底,h为梯形的高,以下C语言表达式不能计算出梯形面积的() A) (a+b)*h/2 B) (1/2)*(a+b)*h C) (a+b)*h*1/2 D) h/2*(a+b) 3.经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 4.若t为double类型,表达式t=1,t+5, ++t的值是 A)1 B)6.0 C)7.0 D)2.0 5. 若有以下定义和语句: int u=010,v=0x10,w=10; printf(“%d,%d,%d\n”,u,v,w); 则输出结果是 A)8,16,10 B)10,10,10 C)8,8,10 D)8,10,10 6. 以下选项中不合法的用户标识符是 A)_12B)abc7C)a-2 D)AS_88_mj 7. 若有以下定义和语句 char c1='b',c2='e'; printf("%d,%c\n",c2-c1,c2-'a'+"A"); 则输出结果是 A)2,M B)3,E C)2,E D)输出项与对应的格式控制不一致,输出结果不确定 8. 若有以下定义: char s[20]="programming",*ps=s; 则不能代表字符o的表达式是 A)ps+2 B)s[2] C语言期末复习卷习题集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN# 期末总复习(基础知识+程序设计部分) 一.填空 1.已知char ch=’A’; 则下列表达式的值是: a Ch=(ch>=’A’ && ch<=’Z’) (ch+32):ch; 2. 若x=1,y=2,z=3, 则表达式z+=++x+y++之值是 7 3.若x=2,y=3,则x%=y+3之值为 2 4.. 若有定义int y=3; float z=, x=; 则表达式y+=(int)x+x+z的值为 17 5. 设x,y,z为int型变量,且x=3,y=-4,z=5,请写出下列各表达式的值 1)(x&&y)==(x||z) 1 2)!(x>y)+(y!=z)||(x+y)&&(y-z) 0 3)x++-y+(++z) 13 6. 设x,y,z为int型变量,请用C语言表达式描述下列命题 1)x和y中有一个小于z (x 大学C语言期末考试试题 一选择题(7分,每小题0.5分) 1。C语言源程序的基本单位是()。 A 过程B函数C子程序D标识符 2.下列程序的输出结果是()。 main( ) { inta=7,b=5; printf("%d\n",b=b/a); } A 5 B 1 C0 D不确定值 3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是()。 A7 B8 C9 D 2 4.设a为int型变量,执行下列赋值语句后,a的取值分别是()。 a=125.534;a=(int)125.521%4;a=5<<2; A125,31,1 B125,1,20 C 125,31,20D125.534,2,20 5。设有如下程序段,下面描述中正确的是( )。 int k=10;while(k=0)k=k—1; A循环执行一次B循环是无限循环C循环体语句一次也不执行D循环体语句执行一次 6。以下程序的输出结果为( ). int i; void prt() { for(i=5;i<8;i++) printf(”%c”,'*’); printf("\t"); } main( ) { for(i=5;i<=8;i++)prt( ); } A *** B ************ C *** *** D * ** 7。在C语言程序中,以下说法正确的是()。 A函数的定义可以嵌套,但函数的调用不可以嵌套 B函数的定义不可以嵌套,但函数的调用可以嵌套 C函数的定义和函数的调用都不可以嵌套 D函数的定义和函数的调用都可以嵌套 8。以下函数调用语句中含有( )个实参. func((e1,e2),(e3,e4,e5)); A 2 B3 C5 D语法错误 9.以下程序的输出结果为(). #defineADD(x)x*x main( ) {int a=4,b=6,c=7,d=ADD(a+b)*c; printf(”d=%d",d); 1、给定n 个数据, 求最小值出现的位置(如果最小值 出现多次,求出第一次出现的位置即可)。 最大值 第三行i<=n 五行k+1 2、编写程序求无理数e 的值并输出。计算公式为: e=1+1/1!+1/2!+1/3!+......+1/n! 当1/n!<0.000001时e=2.718282。 3、求一批数中最大值和最小值的积。 4、某一正数的值保留2位小数,对第三位进行四舍 五入。 5、从键盘上输入任意实数x,求出其所对应的函数值。 z=(x-4)的二次幂(x>4) z=x 的八次幂(x>-4) z=z=4/(x*(x+1))(x>-10) z=|x|+20(其他) 6、求出N ×M 整型数组的最大元素及其所在的行坐标 及列坐标(如果最大元素不唯一,选择位置在最前面 的一个)。 例如:输入的数组为: 1 2 3 4 15 6 12 18 9 10 11 2 求出的最大数为18,行坐标为2,列坐标为1。 7、求一个n 位自然数的各位数字的积。(n 是小于10的 自然数) 8、计算n 门课程的平均值,计算结果作为函数值返回。 例如:若有5门课程的成绩是:92,76,69,58,88, 则函数的值为76.599998。 9、求一批数中小于平均值的数的个数。 10、编写函数判断一个整数m 的各位数字之和能否被7整除, 可以被7整除则返回1,否则返回0。调用该函数找出 100~200之间满足条件的所有数。 11、请编一个函数void fun(int tt[M][N],int pp[N]), tt 指向一个M 行N 列的二维数组,求出二维数组每列 中最大元素,并依次放入pp 所指一维数组中。二维 数组中的数已在主函数中赋予。 选择练习题 1、C 语言中最简单的数据类型包括( B )。 A 、整型,实型,逻辑型 B 、整型,实型,字符型 C 、整型,字符型,逻辑型 D 、整型,实型,逻辑型,字符型 2、C 语言中,运算对象必须是整型数的运算符是(A )。 A 、% B 、/ C 、%和/ D 、* 3、为表示关系x <y <z ,应使用C 语言表达式( A )。 A 、(x <y)&&(y <z ) B 、(x <y)AND (y <z) C 、(x <y <z) D 、(x <y) &(y <z) 4、C 语言程序的基本单位是( C )。 A 、程序行 B 、语句 C 、函数 D 、字符 5、C 语言的程序一行写不下时,可以( D )。 A 、用逗号换行 B 、用分号换行 C 、用回车符换行 D 、在任意一空格处换行 6、下述标识符中,( C )是合法的用户标识符。 A 、A& B B 、void C 、_student D 、 7、在C 语言中,字符型数据在内存中以( B A 、补码 B 、ASCII 码 C 、反码 D 、原码 8、一个程序由若干文件组成,共用同一变量,则此变量的存储类别应该为( B )。 A 、auto B 、extern C 、static D 、Register 9、以下关于switch 语句和break 语句的描述中,只有(B A 、在switch 语句中必须使用break 语句 B 、在switch 语句中,可以根据需要使用或不使用break 语句 C 、break 语句只能用于switch 语句中 D 、break 语句是switch 语句的一部分 10、C 语言规定:调用一个函数时,实参变量和形参变量之间的数据传递是(B )。 A 、地址传递 B 、值传递 C 、由实参传给形参,并由形参传回给实参 D 、由用户指定传递方式 11、下述C 语言转义符中( D )是非法的。 A 、'\b' B 、'\037' C 、'\0xf ' D 、'\'' 12、为了要计算s=10!(10的阶乘),则以下对s 的定义正确的是( D )。 试卷编号:10767 所属语言:C语言 试卷方案:TC_150604083824 试卷总分:570分 共有题型:1种 一、程序设计共57题(共计570分) 第1题(10.0分)题号:374 难度:易第2章/*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:编写函数实现两个数据的交换,在主函数中输入任 意三个数据,调用函数对这三个数据从大到小排序。 ------------------------------------------------*/ #include void wwjt() { FILE *IN,*OUT; int m,n; int i[2]; IN=fopen("in.dat","r"); if(IN==NULL) { printf("Read FILE Error"); } OUT=fopen("out.dat","w"); if(OUT==NULL) { printf("Write FILE Error"); } for(n=0;n<3;n++) { for(m=0;m<2;m++) { fscanf(IN,"%d",&i[m]); } swap(&i[0],&i[1]); fprintf(OUT,"%d\n",i[0]); fprintf(OUT,"%d\n",i[1]); } fclose(IN); fclose(OUT); } 答案:---------------------- int k; k=*a; *a=*b; *b=k; ---------------------- 第2题(10.0分)题号:381 难度:易第2章/*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:求一批数中小于平均值的数的个数。 C语言期末复习题(有答案)★ ●不仅要会做这些题,更重要的是要掌握其相关知识点。典型程序一定要会默写。 ●看题要细心;注意后续题;程序填空、程序改错题要保存;程序设计题要运行且要保存;勿删注释符,但要删去非法符;交卷前要检查! 一、一般填空题 1-1、调用fopen函数打开一文本文件,在“打开模式”这一项中,为输出(写)而打开需填入【1】. 1-2、调用fopen函数打开一文本文件,在“打开模式”这一项中,为追加而打开需填入【1】. 1-3、fopen函数的原形在头文件【1】中. 1-4、getchar函数的原形在头文件【1】中. 1-5、sqrt函数的原形在头文件【1】中. 1-6、如果函数不要求带回值,可用【1】来定义函数返回值为空. 答案:w或w+;a或a+;stdio.h ; stdio.h ; math.h ;void . 2-1、字符串“\1011234\\at”的长度(字符数)是【1】. 2-2、测试字符串“abc\083\\bcd”的长度值是【1】. 2-3、字符串“1\\t\x43\abx44”的长度(字符数)是【1】. 2-4、“a“在内存中占【1】个字节. 2-5、‘a’在内存中占【1】个字节. 2-6、“\71“在内存中占【1】个字节. 2-7、一维数组下标的最小值是【1】;数组char a[]=“china” ;在内存应占【1】个字节。 答案:8; 3; 9; 2;1;2 ;0;6. 3-1、设x=(5>1)+2, x的植为【1】. 3-2、表达式‘B’+15+‘\x41’+011+0x10的值是【1】. 3-3、表达式‘b’+5+‘\x42’+011+0x10的值是【1】. 答案:3;171;194; 4-1、if(!a)中的表达式!a等价于【1】. 4_2、已知a=1,b=2,c=3,执行if(a>b>c) b=a;else b=c;a=4;b=8;后,b的值是【1】. 4_3、下列程序段的执行结果依次是【1】. int x=1,y=2,a,b,z1=0,z2=2,z3=0; z1=(a=3,b=5,a>b?a++:--b,a=1); z2+=x>y?++x:++y; z3=(a=2,b=5,a>b?a++:b++,a+b); 习题一 一、选择题 1.C语言是一种(C )。 A. 低级语言 B. 汇编语言 C. 高级语言 D. 机器语言2.以下不是C语言的特点的是( D )。 A. 语言简洁紧凑 B. 可以直接对硬件进行操作 C. 数据类型丰富 D. 是面向对象的程序设计语言 3.一个C程序的执行是从( A )。 A. 本程序的main函数开始,到main函数结束 B. 本函数的第一个数开始,到本程序文件的最后一个函数结束 C. 本程序的main函数开始,到本程序文件的最后一个函数结束 D. 本函数的第一个数开始,到本程序main函数结束 4.以下叙述正确的是(C )。 A. 在C程序中,main函数必须位于程序的最前面 B. C程序的每行只能写一条语句 C. C语言的本身没有输入输出语句 D. 在对一个C程序进行编译的过程中,可以发现注释中的拼写错误 5.以下叙述不正确的是(D )。 A. 一个C源程序可由一个或多个函数组成 B. 一个C源程序必须包括一个main函数 C. C程序的基本组成单位是函数 D. 在C程序中,注释说明只能位于一条语句的后面 6.C语言规定:在一个源程序中,main函数的位置( C )。 A. 必须在最开始 B. 必须在系统调用的库函数的后面 C. 可以任意 D. 必须在最后 7.一个C语言程序是由( B )。 A. 一个主程序和若干子程序组成 B. 函数组成 C. 若干过程组成 D. 若干子程序组成 8.以下叙述中正确的是( C )。 A. C程序的基本组成单位是语句 B. C程序中的每一行只能写一条语句 C. C语句必须以分号结束 D. C语言必须在一行内写完 9.以下叙述中正确的是( C )。 A. C程序中的注释只能出现在程序的开始位置和语句的后面 B. C程序书写格式严格,要求一行内只能写一个语句 《数据结构与算法》复习题 一、选择题。 1.在数据结构中,从逻辑上可以把数据结构分为 C 。 A.动态结构和静态结构B.紧凑结构和非紧凑结构 C.线性结构和非线性结构D.内部结构和外部结构 2.数据结构在计算机内存中的表示是指 A 。 A.数据的存储结构B.数据结构C.数据的逻辑结构D.数据元素之间的关系 3.在数据结构中,与所使用的计算机无关的是数据的 A 结构。 A.逻辑B.存储C.逻辑和存储D.物理(数据结构在计算机中的表示(映像)称为数据的物理(存储)结构) 4.在存储数据时,通常不仅要存储各数据元素的值,而且还要存储 C 。 A.数据的处理方法B.数据元素的类型 C.数据元素之间的关系D.数据的存储方法 5.在决定选取何种存储结构时,一般不考虑 A 。 A.各结点的值如何B.结点个数的多少 C.对数据有哪些运算D.所用的编程语言实现这种结构是否方便。 6.以下说法正确的是 D 。 A.数据项是数据的基本单位 B.数据元素是数据的最小单位 C.数据结构是带结构的数据项的集合 D.一些表面上很不相同的数据可以有相同的逻辑结构 7.算法分析的目的是 C ,算法分析的两个主要方面是 A 。 (1)A.找出数据结构的合理性B.研究算法中的输入和输出的关系 C.分析算法的效率以求改进C.分析算法的易读性和文档性 (2)A.空间复杂度和时间复杂度B.正确性和简明性 C.可读性和文档性D.数据复杂性和程序复杂性 8.下面程序段的时间复杂度是O(n2) 。 s =0; for( I =0; i 一、填空题(每空1 分,共20 分) 1.C语言中,用关键字(int )定义基本整型变量,用关键字(float),定义单精度实型变量,用关键字(char )定义字符型变量。 2.表达式3*20/4%10的计算结果是(5)。 3.复合语句是将多个语句用({ } )括起来组成一个语句。 4.程序中使用putchar( )函数和getchar( )函数,在程序的开头必(include 复习题(一) 1. 用高级语言编写的源程序必须通过___________程序翻译成二进制程序才能执行,这个二进制程序称为____________程序。 【答案】编译目标 2.下列符号串中,属于C语言合法标识符的是() ①else ②a-2 ③_00 ④00 【答案】③ 3.下列说法中,正确的是() ①主函数名是由程序设计人员按照“标识符”的规则选取的 ②分号和回车符号都可以作为一个语句的结束符号 ③在程序清单的任何地方都可以插入一个或多个空格符号 ④程序的执行,总是从源程序清单的第1行开始 【答案】③ 4.-12345E-3代表的十进制实数是________________________。 【答案】- 12.345 5.设字符型变量ch中存放字符“A”,则执行“ch+++2”后,ch中的字符是________。【答案】B 6.设字符型变量ch1中存放的字符是“A”,字符型变量ch2中存放的字符是“B”,则执行“!(ch1='B')&&(ch2='C')”的运算后,变量ch2中的字符是_____________。 【答案】B 6-1.设整型变量m,n,a,b,c,d均为1,执行“( m=a>b)&&(n=a>b)"后m,n的值是() ①0,0 ②0,l ③1,0 ④1 ,l 【答案】②。 7.设整型变量x1和x2的值均为10,则表达式“x1/=x2-4”的值是_______________。【答案】l 8.在C语言中,如果某个关系表达式成立(真),则该关系表达式的值是____;如果某个逻辑表达式为假,则该逻辑表达式的值是_________。 【答案】1 0 9.设有整型变量x,如果表达式“!x”值为0,则x的值为_________;如果表达式“!x”值为1,则x的值为___________。 【答案】非0 10.下列表达式中,不属于逗号表达式的是() ①a=b,c ②a,b=c ③a=(b,c) ④a,(b=c) 【答案】③ 11.在三种选择结构中,能用2个条件,控制从3个操作中选择一个操作执行的选择结构是______选择结构 【答案】多分支 12.在三种循环结构中,先执行循环操作内容(即循环体),后判断控制循环条件的循环结构是______循环结构。 【答案】直到型 C语言期末复习资料 一、单选题 1 . 在循环语句for(j=0;j<10;j++);中,“j=0”、“j<10”、”j++”被执行数分别是()。 A . 1 ,10,10 B . 1,11,10 C . 1,9,9 D . 10,10,10 2 . 执行下列程序,输入为1时,输出为()。 #include C . 函数 D . 主程序 6 . 设有定义语句:“int x,y;则合法的if语句是()。 A . if(x!=y)if(x>y)printf("x>y\n"); else printf("xc语言期末复习试题(附答案)
c语言期末复习试题
浙江大学C语言总复习题--综合
C语言期末复习题
c语言期末复习试卷
c语言期末考试试题
C语言程序设计期末考试试题(含答案)
C语言期末考试复习题及答案
C语言期末复习题
C语言期末复习卷习题
大学C语言期末考试试题及答案
c语言期末复习题
C语言期末考试试题及详细答案
C语言期末复习试题
C语言期末复习试题及答案
c语言期末考试题库
数据结构c语言版期末考试复习试题
C语言程序设计期末复习题带答案.
c语言期末复习试卷
C语言期末复习题库