C语言期末复习资料

C语言期末复习资料
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) ________________________ }

c语言期末复习试题(附答案)

试卷编号: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 void main( ) /* Beginning */ { int r; float s; scanf("%d",&r); s=p*r*r; printf("s=%f\n",s); 出错的原因是(D ). A:注释语句书写位置错误 B:存放圆半径的变量r不应该定义为整型

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 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 B:-3

c语言期末复习试题

试卷编号: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 ).

浙江大学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语言期末复习题

第一单元程序设计和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;

c语言期末复习试卷

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━试卷编号: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

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:mc4)后,s,t的值为:() A.1,2 B.1,1 C.0,1 D.1,0 12. 语句for(a=0,b=0;b!=100&&a<5;a++)scanf(“%d”,&b); scanf最多可执行次数为:() A.4 B.6 C.5 D.1 13. 对于for(s=2;;s++)可以理解为:()

C语言程序设计期末考试试题(含答案)

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>后(表示回车),x的值是( ) 。 #include main(){ int x; float y; scanf("%3d%f",&x,&y); } A、12345 B、123 C、45 D、345 8、若有以下定义int a,b; float x,则正确的赋值语句是( ) A、a=1,b=2 B、b++; C、a=b=5 D、b=int(x); 9、以下程序的执行结果是( )

#include { int i=10,j=10; printf("%d,%d\n",++i,j--); } A、11,10 B、9,10 C、11,9 D、10,9 10、巳知字母A的ASCII码是65,以下程序的执行结果是( ) #include main() { char c1='A',c2='Y'; printf("%d,%d\n",c1,c2); A、A,Y B、65,65 C、65,90 D、65,89 11、下列运算符中优先级最高的是( ) A、< B、十 C、% D、!= 12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。 A、’x’&&’y’ B、x<=y C、x||y+z&&y-z D、!((x<y)&&!z ||1) 13、判断char型变量cl是否为小写字母的正确表达式为( ) A、’a’<=c1<=f’z’ B、(c1>=a)&&(c1<=z) C、(‘a’>=c1) (‘z’<=c1) D、(c1>=’a’)&&(c1<=’z’) 14、字符串"a"在内存中占据的字节个数为( ) A、0 B、 1 C、 2 D、 3 15、下面有关for循环的正确描述是( ) A、for循环只能用于循环次数已经确定的情况 B、for循环是先执行循环体语句,后判定表达式 C、在for循环中,不能用break语句跳出循环体 D、for循环体语句中,可以包含多条语句,但要用花括号括起来 16、下面程序的运行结果是( ) #include main() {int num=0; while(num<=2) {num++; printf(“%d ,num); } } A、 1 B、 1 2 C、 1 2 3

C语言期末考试复习题及答案

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语言期末复习题

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语言期末复习卷习题

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 (xz||x>z&&y=0||z<0&&y<0&&x>=0||y<0&&x<0&&z>=0)==1 3)y是奇数y%2!=0 7. 下面for循环语句最多可执行 4 次 For (x=0,y=0;(y!=99)&&(x<4);x++) 8. 设i,j,k均为int型变量,则执行以下for语句后,k的值是 10 for (i=0,j=10;i<=j;i++,j--) k=i+j; 9.若已知x,y,z,m,n均为int 型变量,则执行下面语句后,x的值为 7 y的值为9 z的值为 7 m=10 ; n=5; x=(--m==n++) --m : ++n;

大学C语言期末考试试题及答案

大学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);

c语言期末复习题

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 所指一维数组中。二维 数组中的数已在主函数中赋予。

C语言期末考试试题及详细答案

选择练习题 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 )。

C语言期末复习试题

试卷编号:10767 所属语言:C语言 试卷方案:TC_150604083824 试卷总分:570分 共有题型:1种 一、程序设计共57题(共计570分) 第1题(10.0分)题号:374 难度:易第2章/*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:编写函数实现两个数据的交换,在主函数中输入任 意三个数据,调用函数对这三个数据从大到小排序。 ------------------------------------------------*/ #include void wwjt(); void swap(int *a,int *b) { /**********Program**********/ /********** End **********/ } main() { int x,y,z; scanf("%d%d%d",&x,&y,&z); if(x

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语言期末复习试题及答案

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);

c语言期末考试题库

习题一 一、选择题 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程序书写格式严格,要求一行内只能写一个语句

数据结构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

C语言程序设计期末复习题带答案.

一、填空题(每空1 分,共20 分) 1.C语言中,用关键字(int )定义基本整型变量,用关键字(float),定义单精度实型变量,用关键字(char )定义字符型变量。 2.表达式3*20/4%10的计算结果是(5)。 3.复合语句是将多个语句用({ } )括起来组成一个语句。 4.程序中使用putchar( )函数和getchar( )函数,在程序的开头必(include )。5.C语言的预处理语句以(#include“stdio.h”)开头。 6.一个算法应具有的特点有:(有穷性)、(确定性)、有零个或多个输入、有一个或多个输出、有效性。 7.在程序执行过程中,其值不发生改变的量称为(常量),其值可变的量称为(变量)。 8.若有定义:int m=5,y=2;则执行表达式y+=y-=m*=y后的y值是(-16 )。 9.在三种正规循环中,当条件表达式的值为(0)时,就结束循环。 10.C语言中函数的参数分为(形式参数)和(实际参数)。 11.当函数的数据类型省略时,默认的数据类型为(int或整型)型。 12.按变量地址访问变量的方法叫(直接访问),通过存放变量地址的变量去访问变量的方法叫(间接访问)。 13.若有定义:int [3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]得到的初值是(0 ),a[2][1]得到的初值是(6)。 14.文件包含的一般形式为(#include“文件名”)。 15.宏定义中宏名一般用大写字母表示,容易做到(一改全改)。 16.结构体是一种(构造)数据类型用途是把(不同类型)的数据组合成一个整体。 17.位运算的运算对象只能是(整型)或(字符型)数据,而不可以是其他类型的数据。 18.(文件)是存储在外部介质上数据的集合,是操作系统数据管理的单位。 19.goto语句为(无条件转向语句),当程序执行到该语句时,转向指定位置执行。20.return语句的功能是使程序控制从被调用函数返回到(调用函数)中。 21.(指针)是一个变量的地址,专门存放变量地址的变量叫(指针变量)。 22.若有定义:double x[3][5];则x 数组中行下标的下限为(0 ),列下标的上限为(4)。23.C语言提供的预处理功能主要有(宏定义)、(文件包含处理)、和条件编译。24.用结构体变量的成员作函数参数时是(值)传递,用指向结构体变量或数组的指针作函数参数时是(地址)传递。 25.程序的三种基本结构为(顺序结构)、(选择结构)和(循环结构)。 26.在C语言中,用(分号)表示语句的结束。 27.语句printf("%%d%d",123);将输出:(%d123 )。 28.逻辑运算的结果值是( 1 )或(0)。 29.数组int a[3][4];共定义了(12 )个数组元素。 30.在C语言中,正确的标识符是由(字母、数字、下划线)组成的,且由(字母或下划线)开头的。 31.设有“int x=2,y”说明,则逗号表达式“y=x+5,x+y”的值是(7,9 )。 32.变量Y满足以下两条件中的任意一个:①能被4整除,但不能被100整除;②能被400整除。请用逻辑表达式表示所给条件((Y%4==0&&Y%100!=0)||(Y%400==0))。

c语言期末复习试卷

复习题(一) 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语言期末复习题库

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 void main( ) { int x; scanf("%d",&x); switch(x) { case 1:x++; case 2:x++; case 3:x--; case 4:x--; default:printf("%d\n",x); } } A . 0 B . 1 C . 2 D . 3 3 . 对下面三条语句,正确的叙述是()。 (1) while(a)i++; (2) while(a==0)i++; (3) while(a!=0)i++; A . 三者相互等价 B . (1)和(2)等价,但与(3)不等价 C . 三者互不等价 D . (1)和(3)等价,但与(2)不等价 4 . 下面程序的运行结果是()。 #include main() {int k=5; do{printf("*");} while(--k); } A . **** B . ***** C . ****** D . ******* 5 . C源程序的基本单位是()。 A . 子程序 B . 文件

C . 函数 D . 主程序 6 . 设有定义语句:“int x,y;则合法的if语句是()。 A . if(x!=y)if(x>y)printf("x>y\n"); else printf("xy)printf("x>y\n") else printf("xy)printf("x>y\n"); else printf("xy)printf("x>y\n"); else printf("xa+b)printf("yes\n"); else printf("no"); C . if(c

相关文档
最新文档