C语言程序设计习题集

更新时间:2023-10-06 17:28:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

C语言程序设计习题集

目录

第一章 C语言基础知识 ............................................................................................................... 1 第二章 C语言程序设计的初步知识 ........................................................................................... 3 第三章 顺序结构程序设计 ........................................................................................................... 5 第四章 选择结构程序设计 ........................................................................................................... 9 第五章 循环结构程序设计 ......................................................................................................... 12 第六章 数组 ................................................................................................................................. 16 第七章 函数 ................................................................................................................................. 19 第八章 指针 ................................................................................................................................. 23 第九章 结构体与共用体 ............................................................................................................. 27 第十章 文件 ................................................................................................................................. 30 模拟试题一 ..................................................................................................................................... 33 第一章 答案 ................................................................................................................................. 39 第二章 答案 ................................................................................................................................. 40 第三章 答案 ................................................................................................................................. 40 第四章 答案 ................................................................................................................................. 41 第五章 答案 ................................................................................................................................. 42 第六章 答案 ................................................................................................................................. 44 第七章 答案 ................................................................................................................................. 45 第八章 答案 ................................................................................................................................. 47 第九章 答案 ................................................................................................................................. 48 第十章 答案 ................................................................................................................................. 49 模拟试题一答案 ............................................................................................................................. 52

I

C语言程序设计习题集

第一章 C语言基础知识

一、选择题

1.C语言规定,必须用 作为主函数名。 A)Function B)include C)main D)stdio

2. 是C程序的基本构成单位。 A)函数 B) 函数和过程 C) 超文本过程 D) 子程序

3.下列说法正确的是 。

A) 一个函数的函数体必须要有变量定义和执行部分,二者缺一不可 B) 一个函数的函数体必须要有执行部分,可以没有变量定义

C) 一个函数的函数体可以没有变量定义和执行部分,函数可以是空函数 D) 以上都不对

4.下列说法正确的是 。

A) main函数必须放在C程序的开头 B) main函数必须放在C程序的最后

C) main函数可以放在C程序的中间部分,但在执行C程序时是从程序开头执

行的

D) main函数可以放在C程序的中间部分,但在执行C程序时是从main函数

开始的

5.下列说法正确的是 。

A) 在执行C程序时不是从mian函数开始的

B) C程序书写格式严格限制,一行内必须写一个语句 C) C程序书写格式自由,一个语句可以分写在多行上

D) C程序书写格式严格限制,一行内必须写一个语句,并要有行号 6.在C语言中,每个语句和数据定义是用 结束。 A)句号 B)逗号 C)分号 D)括号

7.下列字符串是标识符的是 。 A)_HJ B)9_student C)long D)LINE 1

8.以下说法正确的是 。

A) C语言程序总是从第一个定义的函数开始执行

B) 在C语言程序中,要调用的函数必须在main()函数中定义 C) C语言程序总是从main()函数开始执行

D) C语言程序中的main()函数必须放在程序的开始部分

9. 不是C语言提供的合法关键字。 A)switch B)print C)case

1

D)default

C语言程序设计习题集

10.C语言提供的合法关键字是 。 A)breack B)print C)funiton D)end

11. 一个C语言程序是由 。 A) 一个主程序和若干个子程序组成;

B) 函数组成, 并且每一个C程序必须且只能由一个主函数; C) 若干过程组成; D) 若干子程序组成.

12.以下叙述中错误的是 ( )

A.C语言是一种结构化程序设计语言。

B.结构化程序有顺序、分支、循环三种基本结构组成。 C.使用三种基本结构构成的程序只能解决简单问题。 D.结构化程序设计提倡模块化的设计方法。

13.算法中,对需要执行的每一步操作,必须给出清楚、严格的规定,这属于算法的 ( )

A. 正当性 B. 可行性 C. 确定性 D. 有穷性 14.下列叙述中错误的是 ( )

A.计算机不能直接执行用C语言编写的源程序。

B.C程序经C编译程序编译后,生成后缀为.obj的文件是一个二进制文件。 C.后缀为.obj的文件,经链接程序生成后缀为.exe的文件是一个二进制文件。 D.后缀为.obj和.exe的二进制文件都可以直接运行。 15.以下叙述中错误的是 ( )

A.C语言是一种结构化程序设计语言。

B.结构化程序有顺序、分支、循环三种基本结构组成。 C.使用三种基本结构构成的程序只能解决简单问题。 D.结构化程序设计提倡模块化的设计方法。

16.对于一个正常运行的C程序,以下叙述中正确的是( ) A.程序的执行总是从main函数开始,在main函数结束。

B.程序的执行总是从程序的第一个函数开始,在main函数结束。 C.程序的执行总是从main函数开始,在程序的最后一个函数中结束。

D.程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束。 17.算法中,对需要执行的每一步操作,必须给出清楚、严格的规定,这属于算法的 ( )

A. 正当性 B. 可行性 C. 确定性 D. 有穷性

二、填空题

1.一个C程序至少包含一个 ,即 。 2.一个函数由两部分组成,它们是 和 。 3.函数体的范围是 。

2

C语言程序设计习题集

4.函数体一般包括 和 。 5.C语言是通过 来进行输入输出的。 6.在C语言中,凡在一个标识符后面紧跟着一对圆括弧,就表明它是一个 。 7.主函数名后面的一对圆括号中间可以为空,但一对圆括号不能 。

第二章 C语言程序设计的初步知识

一、选择题

1.在C 语言中,下列类型属于构造类型的是 。 A)整型 B)字符型 C)实型 D)数组类型

2.在C 语言中,下列类型属于基本类型的是 。 A)整型、实型、字符型 B)空类型、枚举型 C)结构体类型、实型 D)数组类型、实型

3.下列字符串属于标识符的是 。 A)INT B)5_student C)2ong D)!DF

4.C语言中不能用来表示整常数的进制是 。 A)十进制 B)十六进制 C)八进制 D)二进制

5.C语言中能用来表示整常数的进制是 。 A)十进制、八进制、十六进制 B)十二进制、十进制 C)六进制、八进制 D)二进制、十进制

6.在C语言中,回车换行符是 。 A)\\n B)\\t C)\\v D)\\b

7.设d为字符变量,下列表达式不正确的是 。 A)d=97 B)d=?a? C)d=”a” D)d=?g?

8.设d为字符变量,下列表达式正确的是 。 A)d=678 B)d=?a? C)d=”d” D)d=?gjkl?

9.10+?a?+1.5-567.345/?b?的结果是 型数据。 A)long B)double C)int D)unsigned float

10.语句int i=3;k=(i++)+(i++)+(i++);执行过后k的值为 A ,i的值为 。 A)9,6 B)12,5 C)18,6 D)15,5

11.如果int i=3,int j=4,则k=i+++j执行之后k,i和j的值分别为 。 A)7,3,4 B)8,3,5 C)7,4,4 D)8,4,5

12.已知在ASCII字符集中,数字0的序号为48,下面程序的输出结果为 。 main() {char x,y; x=?0?;y=?9?;

printf(“%d,%d\\n”,x,y);

3

C语言程序设计习题集

}

A)因输出格式不合法,输出错误信息 B)48,57 C)0,9 D)48,58 13.已知在ASCII字符集中,字母A的序号为65,下面程序的输出结果为 。 main()

{char c=?A?;int i=10; c=c+10; i=c%i;

printf(“%c,%d\\n”,c,i); }

A)75,7 B)75,5 C)K,5 D)因存在非图形字符,无法直接显示出来 14.C语言中,运算对象必须是整型数的运算符是 。 A)% B)\\ C)% 和 \\ D)** 15.下列常数中,不合法的C 常量是 。 A)-0x3bl B)123e+2.3 C)?}? D)6e+7 16.下列符号中,可以作为变量名的是 。 A)+a B)12345e C)a3B D)5e+0 17.下面程序的输出结果是 。 main()

{int x=4,y=0,z;

x*=3+2; printf(“%d”,x);

x*=y= =(z=4); printf(“%d”,x); } A)14 40 B)20 0 C)20 4 D)14 4 18.下面程序的输出结果是 。 main() {int i,j;

i=16;j=(i++)+i;printf(“%d”,j); i=15;printf(“%d %d”,++i,i); }

A)32 16 15 B)33 15 15 C)34 15 16 D)34 16 15 19..下列程序的执行结果是 。

#include #define sum(10+20) mian() {

4

C语言程序设计习题集

for(i=1;i<=10;i++)

scanf(“%d”,&a[i]); for( i=1;i<=9;i++)

for(j=1;j<=10-i;j++) if(a[j]>a[j+1])

{ m=a[j]; a[j]=a[j+1]; a[j+1]=m; } for(i=1;i<=10;i++) printf(“%d ”,a[i]);}

2. #include #include main( )

{int i,data[20];

data[0]=data[1]=1; for(i=2;i<20;i++)

data[i]=data[i-1]+data[i-2]; printf(“\\n”);

for(i=0;i<20;i++)

{printf(“}”,data[i]);

if((i+1)%5= =0) printf(“\\n”); } }

第七章 答案

一、选择题

1~5 A B B D B 6~10 B D A A D 11~15 A C B A A 16~ A 二、填空题

1. 程序中的main( )函数

2. 函数说明部分 函数体

3. a[0]=1,a[1]=2 单向值传递,不能返回交换后的值

4. a[0]=2,a[1]=1 因实参是地址,已对指定地址中的内容进行了交换 5. void fun(double b[][]) 6. 包含它的函数 调用函数

45

C语言程序设计习题集

三、完善程序题:

4.(1)2﹡i+1 (2)a(i) (3)a(i) 5.(1) j (2) str[j-1] 四、程序阅读与分析题:

1. 15 2. 246 五.编程题

1. #include #include func(int num) {int s=0;

num=abs(num); do

{s+=num; num/=10;

}while(num); return s; } main( ) {int n;

printf(\输入一个整数:\ scanf(\

printf(\结果:%d\}

2. #include \main() {int i,n; int fact();

scanf(“%d”,&n); for(i=0;i

printf(\}

int fact(int j) {int sum; if(j==0) sum=1;

46

C语言程序设计习题集

else

sum=j*fact(j-1); return sum; }

第八章 答案

一、选择题

1~5 B C B C B 6~10 C D D A D 11~15 D C C C B 16~20 B D D B B 二、填空题

1.12 12

2.地址常量 数组名

3. 返回一个指向整型值的指针的函数 指向一个返回整型值的函数的指针 4. 地址 NULL(或ˊ\\0ˊ,或0,或空值) 5. 0 6.int *z

7.*(p+5)或p[5] 8. &a[i],a+i,*(a+i)

9. &a[i][j] a[i]+j 数组第i行元素的首地址(或是由数组第i行元素组成的一维数组的数组名),地址值(或第i行元素组成的一维数组的首地址) 10. 4

11. 指针数组

12. p是由4个指针组成的指针数组;p是一个指针变量,它指向4个整型元素组成的数组

13. *(p+5)或p[5] 三、完善程序题:

1.(1)num=﹡b (2)num=﹡c 2.(1)ˊ\\0ˊ (2)s

四、程序阅读与分析题:

1. i=10,j=2

2. 功能:输入12个整数,输出最大数及所在的行和列号,分别为max,line和col的值。 五、编程题

47

C语言程序设计习题集

1. #include main( ) {char *str;

printf(“输入一字符串:”); gets(str);

printf(“[%s]的长度为:%d\\n”,str,string_length(str)); }

string_length(char *s) {int len=0; while(*s++) len++; return(len); }

2. #include main( )

{static char x[ ]=”computer”; char *p;

for(p=x;p

putchar(*p); printf(“\\n”); }

第九章 答案

一、选择题:

1~5 D D C D C 6~ A B 二、填空题:

1. 2 3 2. 12 6.0 3. (double *) 4. 22

三、完善程序题:

1.(1)p<=person+2 (2)old=p->age (3)q->name, q->age 2.(1)p!=NULL

48

B C语言程序设计习题集

(2)c++ (3)p->next

四、程序阅读与分析题:

1. 10,x 2. 2,3

五、编程题:

1.main()

{struct study {int mid;

int end; int average; }math;

scanf(“%d %d”,&math.mid,&math.end); math.average=(math.mid+math.end)/2; printf(“average=%d\\n”,math.average); }

2.struct stu {int num; int mid; int end; int ave; }s[3]; main( )

{struct stu *p;

for(p=s;p

{scanf(“%d %d %d”,&(p->num),&(p->mid),&(p->end)); p->ave=(p->mid+p->end)/2; }

for(p=s;p

printf(“%d %d %d %d\\n”,p->num,p->mid,p->end,p->ave); }

第十章 答案

一、选择题

1~5 D B A D C 6~9 C D B

49

本文来源:https://www.bwwdw.com/article/k47d.html

Top