文档库 最新最全的文档下载
当前位置:文档库 › C语言程序设计试卷含答案

C语言程序设计试卷含答案

C语言程序设计试卷含答案

一、选择题(共20题,每题2分,共40分。下面每题后面用小括号内标注了正确答案)

1. 下列关键字中,用于定义变量的是(A)

A. int

B. if

C. while

D. for

2. 变量的作用域是指变量的(C)

A. 大小

B. 类型

C. 可访问范围

D. 值

3. 下列语句中,用于输出字符的是(B)

A. scanf

B. printf

C. input

D. output

4. 已知整型变量a和b,那么a += b; 等价于(D)

A. a = a + b;

B. a -= b;

C. a = a - b;

D. a = a + b;

5. 在C语言中,用于表示“不等于”的运算符是(C)

A. =

B. ==

C. !=

D. >=

6. 下面哪个for循环语句是正确的(A)

A. for(int i=0; i<10; i++)

B. for(int i<10; i++)

C. for(int i=0; i<10)

D. for(i=0; i<10; i++)

7. 下列选项中,表示“或”运算符的是(D)

A. &

B. &&

C. |

D. ||

8. 在C语言中,用于声明宏定义的关键字是(B)

A. define

B. #define

C. const

D. int

9. 如果要判断一个整数是否为负数,正确的if条件语句是(C)

A. if(n > 0)

B. if(n => 0)

C. if(n < 0)

D. if(n <= 0)

10. 下列哪个不是C语言的基本数据类型(D)

A. int

B. float

C. char

D. string

11. 下列关键字中,用于定义函数的是(C)

A. main

B. include

C. void

D. for

12. 在C语言中,表示“或者”的条件语句是(B)

A. if

B. else if

C. switch

D. while

13. C语言中的“++”运算符表示(A)

A. 自增

B. 自减

C. 相加

D. 相减

14. 下列哪个语句用于在C语言中声明字符类型的变量(C)

A. String name;

B. var name;

C. char name;

D. character name;

15. 下列哪个不是C语言的关键字(D)

A. enum

B. long

C. double

D. true

16. 在C语言中,用于跳出当前循环并继续执行下一次循环的关键字是(D)

A. exit

B. break

C. end

D. continue

17. 下列哪个函数用于从标准输入读取一个整数(A)

A. scanf

B. printf

C. gets

D. puts

18. 在C语言中,用于声明一个指针变量的关键字是(A)

A. int*

B. point

C. new

D. pointer

19. 下列哪个运算符用于获取变量在内存中的地址(B)

A. &

B. *

C. #

D. %

20. 下列哪个函数调用可以输出字符串(A)

A. printf("Hello World!");

B. scanf("Hello World!");

C. gets("Hello World!");

D. puts("Hello World!");

二、填空题(共5题,每题4分,共20分。请填写答案所对应的内容)

1. 在C语言中,定义一个整型变量num并初始化为10的语句是:int num = 10;

2. 下列哪个运算符是用于求余数的:%

3. 下列哪个函数可以用于获取字符串的长度:strlen

4. 在C语言中,声明一个无返回值的函数doSomething的语句是:void doSomething(){}

5. 在C语言中,用于从标准输入读取一个字符串的函数是:fgets

三、简答题(共5题,每题10分,共50分。请简洁明了作答)

1. 请简述C语言中的数组和指针的区别和联系。

C语言中的数组和指针都是用来处理一组相关的数据。数组是一种

在内存中连续存储多个相同类型元素的数据结构,通过下标来访问和

操作数组中的元素。而指针是一种变量,存放的是内存地址,可以用

来指向一个变量或者数组的首地址。

数组和指针之间的联系是通过指针可以访问到数组的元素,可以通

过指针进行数组的遍历、修改和传递。数组名本身就是一个指针常量,指向数组首元素的地址。但是,数组和指针也有一些区别,比如在定

义时,数组需要指定大小,而指针则可以根据需要动态分配内存。此外,数组名不能被赋值,而指针变量可以修改。

2. 请简述C语言中的结构体的概念和用法。

结构体是C语言中一种用户自定义的复合数据类型,可以由多个不

同类型的数据成员组合而成。结构体的定义使用关键字struct,通过定

义一个结构体模板,可以创建多个具有相同结构的结构体变量。

结构体的用法包括以下几个方面:

- 定义结构体类型:通过结构体定义语句,可以定义一个结构体类型,描述了结构体的成员和成员类型。

- 声明结构体变量:使用结构体类型,可以声明一个或多个结构体

变量,分配内存空间存储数据。

- 访问结构体成员:使用结构体变量名和成员运算符.,可以访问结构体的成员,并进行赋值或读取操作。

- 结构体作为函数参数:可以将结构体作为参数传递给函数,实现对结构体数据的处理和修改。

3. 请简述C语言中的递归函数的概念和应用场景。

递归函数是指在函数的定义中调用自身的函数。递归函数的概念是通过不断调用自身来解决问题,每一次递归调用都是在一个更小规模的问题上进行操作。递归函数通常涉及到两个部分:递归定义和递归出口。

递归函数的应用场景包括:

- 数学问题:递归可以用来解决数列、阶乘、斐波那契数等数学问题。

- 数据结构:递归可以用来处理树、图、链表等数据结构,比如进行遍历、搜索、插入等操作。

- 文件操作:递归可以用来遍历文件夹中的所有文件和子文件夹。

- 问题分解:对于一些大问题,可以使用递归将其分解为几个相同或相似的小问题,并通过递归求解小问题来解决整个问题。

4. 请简述C语言中的动态内存分配的概念和使用方法。

动态内存分配是指在程序运行时动态地分配内存空间。C语言中提供了几个函数来实现动态内存分配,包括malloc、calloc和realloc。

malloc函数用于在堆内存中分配指定大小的连续空间,返回一个指向分配内存的指针。calloc函数用于在堆内存中申请指定数量、指定大小的连续空间,并将内存初始化为零。realloc函数用于重新调整之前分配的内存空间的大小,可以扩大或缩小内存空间。

使用动态内存分配的步骤一般为:先使用malloc、calloc或realloc 函数分配内存空间,然后使用指针来访问和操作这片内存,最后使用free函数释放内存空间,防止内存泄漏。

5. 请简述C语言中的文件操作函数和对文件进行读写的基本步骤。

C语言提供了一些文件操作函数来打开、关闭、读写文件,主要包括fopen、fclose、fread、fwrite、fgets和fprintf等。

对文件进行读写的基本步骤如下:

- 打开文件:使用fopen函数打开文件,指定文件名和打开模式(如读取模式、写入模式等),返回一个指向文件的指针。

- 读取或写入文件:使用fread或fwrite函数读取或写入文件内容,指定要读取或写入的数据的地址、大小和数量。

- 关闭文件:使用fclose函数关闭文件,释放文件资源。

读取文件的基本步骤:

- 打开文件:使用fopen函数打开要读取的文件。

- 读取文件内容:使用fgets函数逐行读取文件的内容,将读取的内容存放到指定的缓冲区中。

- 关闭文件:使用fclose函数关闭文件。

写入文件的基本步骤:

- 打开文件:使用fopen函数打开要写入的文件。

- 写入文件内容:使用fprintf函数将要写入的内容写入到文件中。- 关闭文件:使用fclose函数关闭文件。

C语言程序设计基础试题及答案

第一部分C语言基础 一、选择题 1.以下正确的C语言标识符是() A.%X B.a+b C.a123 D.test! 2.已定义int a,b;则以下不正确的C语句是() A.a*=5; B.b/=2; C.a+=1.75; D.b&&=a; 3.若x、i、j和k都是整型变量,则执行下面表达式后x的值为() x=(i=4,j=16,k=32) A.4 B.16 C.32 D.52 4.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符()A.必须是字母B.必须为下划线 C.必须为字母或下划线D.可以是字母、数字、下划线中的任一字符 5.下面正确的字符常量是() A.“c” B.’\\”C.‘w’D.” 6.设int a=2,b=0,c;则执行语句c+=b&&a--后, c的结果为()。 A.0,1 B.1,0 C.2,0 D.不确定 7. 以下不正确的C语言标识符是( ) A) int B) a_1_2 C) ab1exe D) _x 8.以下是正确的C语言标识符是( )。 A) #define B) _123 C) %d D) \n 9.下列四组字符串中都可以用作C语言程序标识符的一组是( ) 。

A) print B) i\am C) Pxq D) str_l _3d one_half My->book Cpp ••• oodbs tart$it line# pow 10.下面各选项组中,均是C语言关键字的组是( ) 。 A) auto,enum,include B) switch,typedef,continue C) signed,union,scanf D) if,struct,type 11.下列不属于C语言关键字的是( ) 。 A) default B) register C) enum D) external 12.C语言程序从main()函数开始执行,所以这个函数要写在( )。 A) 程序文件的开始 B) 程序文件的最后 C) 它所调用的函数的前面 D) 程序文件的任何位置 13.下列关于C语言的叙述错误的是( ) A) 大写字母和小写字母的意义相同 B) 不同类型的变量可以在一个表达式中 C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型 D) 同一个运算符号在不同的场合可以有不同的含义 14.在C语言中,错误的int类型的常数是( ) 。 A) 32768 B) 0 C) 037 D) 0xAF 15.将字符g赋给字符变量c,正确的表达式是( ) 。 A) c=\147

大学_C语言程序设计试题及参考答案

C语言程序设计试题及参考答案 C语言程序设计试题及答案(一) 1. 若有定义"float x=1.5;int a=1,b=3,c=2;",则正确的switch语句是() (2分) A.switch(x) { case 1.0: printf("__ "); case 2.0 printf("____ "); } B.switch((int)x) { case 1.0: printf("__ "); case 2.0 printf("____ "); } C.switch(a+b) { case 1: printf("__ "); case 2+1: printf("____ ");

} D.switch(a+b) { case 1: printf("__ ") case c: printf("____ "); } 标准答案:C 2. 若有宏定义如下: #define X 5 #define Y X+1 #define Z Y__X/2 则执行以下printf语句后,输出的结果是( ) int a; a=Y; printf("%d ",Z); printf("%d",--a); (2分) A.7,6 B.12,6 C.12,5 D.7,5 标准答案:D 3. 下面的.符号常量定义中,正确的是 ( ) (2分) A.#define PI 3.14; B.#include PI 3.14;

C.#define PI=3.14 D.#define PI 3.14 标准答案:D 4. 以下程序的输出结果是( ) int a, b; void fun() { a=100; b=200; } main() { int a=5, b=7; fun(); printf("%d%d ", a,b); } (2分) A.100200 B.57 C.00 D.75 标准答案:D 5. 若有以下调用语句,则不正确的fun函数的首部是( ) main() { … int a[50],n; … fun(n, a[9]);

C语言程序设计题库及答案

第1次客观题作业 一、单选题(共30题,每题3分) 1 .下面表示正确的是__A___。 A.C语言中的逗号是一种运算符 B.在C语言中,一行只能有一个语句 C.C中的变量不区分大小写 D.c中的关键字可以做为变量名 2 .字符型常量在内存中存放的是__A____代码值。 A.ASCII B.二进制 C.十进制D.八进制 3 .以下不正确的C语言标识符是(C )。 A.AB1 B._ab3 C.4ab D.a2_b 4 .以下运算符中优先级最低的运算符是_D____。 A.&& B.& C.|| D.= 5 .在C语言中,要求运算数必须是整型的运算符是___A___。A.% B./ C.< D.! 6 . C语言程序的基本单位是__C_____。 A.程序行B.语句C.函数D.字符 7 .将高级语言编写的程序翻译成目标程序的是___B____程序。A.解释程序B.编译程序C.汇编程序D.源程序8 .以下选项中,与k=n++完全等价的表达式是__A___。 A.k=n,n=n+1 B.n=n+1,k=n C.k=++n D.k+=n+1 9 .下列(A )不属于结构化程序设计的循环结构。 A.For B.While C.if-else D.do-while

10 .以下叙述中错误的是__A___。 A.用户所定义的标识符允许使用关键字 B.用户所定义的标识符应尽量做到“见名知意 C.用户所定义的标识符必须以字母或下划线开头 D.用户定义的标识符中,大、小写字母代表不同标识 11 .若有输入语句scanf( %d%d%d,&x,&y,&z);则不能使x值为5,y值为6,z值为7的输入是__A____。 A.5,6 ,7 B.5回车换行 6 7 C.5 6 7 D.5,6,7 12 .若i,j已定义为int类型,则下程序段中内循环体的总的执行次数是( B )。 for (i=3;i>0;i--) for (j=0;j<=4;j++){...} A.12 B.15 C.16 D.20 13 .下列选项中,合法的C语言关键字是_D___。 A.VAR B.Cher C.Integer D.default 14 .C语言中___A____。 A.能使用do-while语句构成的循环 B.do-while语句构成的循环必须用break语句才能退出 C.do-while语句构成的循环,当while语句中的表达式为非零时结束循环D.do-while语句构成的循环,当while语句中的表达式值小于零时结束循环15 .以下__D_____不是高级语言。 A.Basic语言 B.C语言 C.JAVA语言 D.汇编语言 16 .已知int x=2,y=3;则计算表达式y+=x-=x*=y后,x和y分别为(B )。 A.6,5 B.0,3 C.0,5 D.-4,2

c程序设计期中试题及答案

c程序设计期中试题及答案 一、选择题 1. C语言中,下列哪个关键字可以声明常量? A. const B. static C. extern D. volatile 答案:A. const 2. 下列关于指针的说法中,错误的是? A. 指针保存的是变量的地址 B. 指针变量必须在使用之前初始化 C. 指针可以指向一个函数 D. 指针占用的内存空间和指针指向的数据类型有关 答案:B. 指针变量必须在使用之前初始化 3. 下列循环结构中,哪个语句是用于结束当前循环,进入下一轮循环的? A. break B. continue

D. goto 答案:B. continue 4. 下列C语言中的标准库函数中,不属于输入输出函数的是? A. printf() B. scanf() C. gets() D. malloc() 答案:D. malloc() 5. C语言中,以下哪个运算符的优先级最高? A. = B. && C. * D. ?: 答案:D. ?: 二、填空题 1. 编写一个函数,判断一个数是否为质数。函数原型为: int isPrime(int num);

```c int isPrime(int num) { int i; if (num <= 1) { return 0; } for (i = 2; i < num; i++) { if (num % i == 0) { return 0; } } return 1; } ``` 2. 填写以下代码的输出结果:```c #include int main() {

char str[] = "Hello"; printf("%d\n", sizeof(str)); printf("%d\n", strlen(str)); return 0; } ``` 答案: 8 5 三、编程题 1. 编写一个C程序,实现将一个字符串中的小写字母转换为大写字母的功能。要求原字符串不变,结果存放在新的字符串中。函数原型为: void convertToUpper(const char* src, char* dest); 答案: ```c #include #include void convertToUpper(const char* src, char* dest) {

C.语言程序设计试题试题及答案

C 语言程序设计试卷 ,C++语言程序设计试题及答案 一、单项选择题(每题1分,共20分) 1. C语言规定:在一个源程序中,main函数的位置( C )。 A. 必须在最开始 B. 必须在系统调用的库函数的后面 C. 可以任意 D. 必须在最后 2. 下面四个选项中,均是合法浮点数的选项是( B )。 A. +1e+1 5e-9.4 03e2 B. -.60 12e-4 -8e5 C. 123e 1.2e-.4 +2e-1 D. -e3 .8e-4 5.e-0 3. 若a=-14,b=3,则条件表达式 a

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’

C语言程序设计试卷含答案

C语言程序设计试卷含答案 一、选择题(共20题,每题2分,共40分。下面每题后面用小括号内标注了正确答案) 1. 下列关键字中,用于定义变量的是(A) A. int B. if C. while D. for 2. 变量的作用域是指变量的(C) A. 大小 B. 类型 C. 可访问范围 D. 值 3. 下列语句中,用于输出字符的是(B) A. scanf B. printf C. input D. output 4. 已知整型变量a和b,那么a += b; 等价于(D) A. a = a + b; B. a -= b; C. a = a - b; D. a = a + b; 5. 在C语言中,用于表示“不等于”的运算符是(C) A. = B. == C. != D. >= 6. 下面哪个for循环语句是正确的(A) A. for(int i=0; i<10; i++) B. for(int i<10; i++) C. for(int i=0; i<10) D. for(i=0; i<10; i++) 7. 下列选项中,表示“或”运算符的是(D) A. & B. && C. | D. ||

8. 在C语言中,用于声明宏定义的关键字是(B) A. define B. #define C. const D. int 9. 如果要判断一个整数是否为负数,正确的if条件语句是(C) A. if(n > 0) B. if(n => 0) C. if(n < 0) D. if(n <= 0) 10. 下列哪个不是C语言的基本数据类型(D) A. int B. float C. char D. string 11. 下列关键字中,用于定义函数的是(C) A. main B. include C. void D. for 12. 在C语言中,表示“或者”的条件语句是(B) A. if B. else if C. switch D. while 13. C语言中的“++”运算符表示(A) A. 自增 B. 自减 C. 相加 D. 相减 14. 下列哪个语句用于在C语言中声明字符类型的变量(C) A. String name; B. var name; C. char name; D. character name; 15. 下列哪个不是C语言的关键字(D) A. enum B. long C. double D. true 16. 在C语言中,用于跳出当前循环并继续执行下一次循环的关键字是(D)

C语言程序设计考试试卷附答案

C语言程序设计考试试卷附答案 一、选择题 1. 下列哪个不是 C 语言的数据类型? A. int B. char C. string D. float 答案:C 2. 以下哪个关键字用于定义常量? A. constant B. var C. const D. define 答案:C 3. 在 C 语言的数组中,下标是从几开始的? A. 0 B. 1 C. -1

D. 从任意整数开始 答案:A 4. 下面哪个运算符用于获取变量的地址? A. & B. * C. % D. # 答案:A 5. 下面的代码中,输出的结果是什么?``` int i = 0; for (i = 0; i < 5; i++) { if (i == 3) { break; } printf("%d ", i); } ``` A. 0 1 2

C. 0 1 2 3 4 D. 0 1 2 4 答案:A 二、填空题 1. 填写下面代码的输出结果:``` char str[20] = "Hello"; printf("%s", ___________); ``` 答案:Hello 2. 填写下面代码的输出结果:``` int a = 10; int b = 20; int c = ___________; printf("%d", c); ```

三、编程题 1. 编写一个程序,在屏幕上输出从 1 到 10 的所有数字。答案: ```c #include int main() { int i; for (i = 1; i <= 10; i++) { printf("%d ", i); } return 0; } ``` 2. 编写一个程序,计算从 1 到 100 所有偶数的和。 答案: ```c #include

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;

C语言程序设计试题及参考答案

C语言程序设计 一、选择题(共40分,每小题2分) 1、以下叙述不正确的是(D) A、一个C源程序可由一个或多个函数组成 B、一个C源程序必须包含一个main函数 C、C程序的基本组成单位是函数 D在C程序中,注释说明只能位于一条语句的后面 2、下列四个选项中,是不合法的用户标识符的选项是(B) A、abc B、12ACC sunD A 3、设有语句inta=4 ;则执行了语句a+=a-=a*a后,变量a的值是(A) A -24B、OC 4D 16 4、下列运算符中优先级最高的是(B) A、<B +C &&D == 5、在C语言中,运算对象必须是整型数的运算符是(A) A、% B、/ C、%和/ D + &以下关于运算符的优先顺序的描述正确的是(C) A、关系运算符<算术运算符<赋值运算符<逻辑与运算符 B逻辑与运算符<关系运算符<算术运算符<赋值运算符 C、赋值运算符V逻辑与运算符<关系运算符<算术运算符 D算术运算符<关系运算符<赋值运算符<逻辑与运算符 7、在C语言中,如果下面的变量都是int类型,则输出的结果是(C) sum=pad=5 pAd=sum++ pAd++, ++pAc;printf(“%d\n ”,pad); A 7 B 6C、5D 4 8、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是(B) A INPUTx、y、z; B、scanf(“%d%d%d ”,&x,&y,&z); C scanf(“%d%d%d, x,y,z); D read(“ %d%d%d, &x,&y,&z); 9、假定从键盘输入23456<回车>,下面程序的输出结果是:(C) voidmai n() {intm ,n; scanf(“ %2d%3”,&m &n); printf(“ m=%dn=%d\n,m, n); } A m=23n=45 B m=234n=56 C m=23n=456 D 语句有错误 10、若运行时,给变量x输入12,则以下程序的运行结果是(A) mai n() {intx ,y; scanf(“ %d ,&x);

《C语言程序设计》练习测试题及答案

专科《C语言程序设计》练习测试题及答案 一、选择题(下列各题有四个选项,只有一个答案是正确的,请选出正确选项) 1.一个C程序的执行是从 A 。 A)本程序的main函数开始,到main函数结束 B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C)本程序的main函数开始,到本程序文件的最后一个函数结束 D)本程序文件的第一个函数开始,到本程序main函数结束 2.以下叙述正确的是 C 。 A)在C程序中,main函数必须位于程序的最前面 B)C程序的每行中只能写一条语句 C)C语言本身没有输入输出语句 D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误 3.以下叙述不正确的是 D 。 A)一个C源程序可由一个或多个函数组成 B)一个C源程序必须包含一个main函数 C)C程序的基本组成单位是函数 D)在C程序中,注释说明只能位于一条语句的后面 4.C语言规定:在一个源程序中,main函数的位置 C 。 A)必须在最开始 B)必须在系统调用的库函数的后面 C)可以任意 D)必须在最后 5.一个C语言程序是由 B 。 A)一个主程序和若干子程序组成 B)函数组成 C)若干过程组成 D)若干子程序组成 6.在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为 A 。 A)char

C语言程序设计试题及答案完整版

C语言复习资料5元 必须清楚的: 1)程序结构是三种: 顺序结构, 循环结构(三个循环结构), 选择结构(if 和switch) 2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)。 3)计算机的数据在电脑中保存是以二进制的形式. 数据存放的位置就是他的地址. 4)bit是位是指为0 或者1。byte 是指字节, 一个字节= 八个位. 5)一定要记住二进制如何划成十进制。 概念常考到的: 1、编译预处理不是C语言的一部分,不再运行时间。C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。 2、每个C语言程序中main函数是有且只有一个。 3、在函数中不可以再定义函数。 4、算法的是一定要有输出的,他可以没有输入。 5、break可用于循环结构和switch语句。 6、逗号运算符的级别最低。 第一章 1)合法的用户标识符考查: 合法的要求是由字母,数字,下划线组成。有其它元素就错了。 并且第一个必须为字母或则是下划线。第一个为数字就错了。 关键字不可以作为用户标识符号。main define scanf printf 都不是关键字。迷惑你的地方If是可以做为用户标识符。因为If中的第一个字母大写了,所以不是关键字。 2)实型数据的合法形式: 2.333e-1 就是合法的,且数据是2.333×10-1。 考试口诀:e前e后必有数,e后必为整数。. 3)字符数据的合法形式:: '1' 是字符占一个字节,"1"是字符串占两个字节(含有一个结束符号)。 '0' 的ASCII数值表示为48,'a' 的ASCII数值是97,'A'的ASCII数值是65。 4)整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节: 考试时候一般会说,在16位编译系统,或者是32位系统。碰到这种情况,不要去管,一样做题。掌握整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节就可以了。 5)转义字符的考查: 在程序中int a = 0x6d,是把一个十六进制的数给变量a 注意这里的0x必须存在。 在程序中int a = 06d, 是一个八进制的形式。 在转义字符中,’\x6d’ 才是合法的,0不能写,并且x是小写。 ‘\141’ 是合法的,0是不能写的。 ‘\108’是非法的,因为不可以出现8。 6)算术运算符号的优先级别: 同级别的有的是从左到右,有的是从右到左。 7)强制类型转换: 一定是(int)a 不是 int(a),注意类型上一定有括号的。 注意(int)(a+b)和(int)a+b 的区别。前是把a+b转型,后是把a转型再加b。 8)表达式的考查:

C语言程序设计试卷参考答案

一、选择填空:(每题1.5分,共15分) 1.以下可以对的表达字符型常数的是。 (A) “a”(B) ‘297’ (C) ‘\t’ (D) “\n” 2. typedef struct { char name[10]; int age; char interests[20]; } student; 以上语句中 student 是: (A)结构体变量,有存储空间 (B)结构体数据类型,无存储空间 (C)结构体变量,无存储空间 (D)结构体数据类型,有存储空间 3.函数:void f(void) { int i = 12, j; for(j=0; j<20; j++) i++;

} 当f执行完退出后,i的值为_____ _____ (A) 12 (B) 32 (C) 29 (D) 无定义 4.若有以下说明: int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则数值为6的表达式是 (A)*p+6 (B)*(p+6) (C)*p+=5 (D)p+5 5.以下代码执行后,result的值为: #define FIVE 2+3 result = FIVE * FIVE (A) 11 (B) 13 (C) 25 (D)10 6.已知函数定义的形式如下: struct data *f(void) {……} 则函数f: (A) 没有参数,返回值是一个结构体

(B)有一个参数void, 返回值是一个结构体 (C)没有参数,返回值是一个结构体指针 (D)有一个参数void, 返回值是一个结构体指针 7.下列说法中,不对的的是_ ____ (A)函数中可以没有return语句。 (B)所有的函数都不能嵌套定义,但可以互相调用。 (C)函数的实参应与其相应的形式参数类型一致。 (D)函数可以不加函数返回值类型标记符。 8.一个C程序的执行是。 (A)从本程序的main函数开始,到main函数结束 (B)从本程序文献的第一个函数开始,到本程序文献最后一个函数结束(C)从本程序的main函数开始,到本程序文献的最后一个函数结束(D)从本程序文献的第一个函数开始,到本程序的main函数结束9.在C语言的算术运算符中只能用于整型数的运算符是

《C语言程序设计》试题与答案

《C语言程序设计》试题与答案C语言程序设计试题与答案 1. 选择题 1) 下列哪个选项是正确的C语言注释的格式? A. /* 注释 */ B. / 注释 / C. // 注释 D. !注释! 答案:C 2) 在C语言中,下列哪个选项定义了一个整型变量? A. int B. double C. char D. float 答案:A 3) C语言中,下列哪个选项可以用来声明一个常量? A. const B. static

C. constexpr D. volatile 答案:A 2. 填空题 1) C语言中,用来输出字符串的函数是__。 答案:printf 2) C语言中,用于从用户输入读取字符的函数是__。答案:getchar 3) C语言中,用于从用户输入读取整数的函数是__。答案:scanf 3. 编程题 题目:编写一个C程序,从1加到100并输出结果。```c #include int main() { int sum = 0; int i; for (i = 1; i <= 100; i++) {

sum += i; } printf("1加到100的结果为:%d", sum); return 0; } ``` 4. 简答题 1) C语言中,什么是指针? 答:指针是一个变量,它存储了其他变量的内存地址。 2) C语言中,什么是递归函数? 答:递归函数是指在函数体内调用自己的函数。通过递归,函数可以重复执行相同的操作,直到满足终止条件。 3) C语言中,什么是结构体? 答:结构体是一种用户自定义的数据类型,它可以将多个不同的数据类型组合在一起,形成一个新的数据类型。 5. 代码分析题 题目:请分析以下C语言代码段,并解释其输出结果。 ```c #include

C语言程序设计试题及答案解析

C语言程序设计试题 第1、2、3章概述、类型、表达式 一、选择题 一个C程序由若干个C函数组成,各个函数在文件中的位置顺序为:() A、任意 B、第一个函数必须是主函数,其他函数任意 C、必须完全按照执行的顺序排列 D、其他函数可以任意,,主函数必须在最后 答案:A 下列四个叙述中,正确的是:() A、 C程序中的所有字母都必须小写 B、 C程序中的关键字必须小写,其他标示符不区分大小写 C、 C程序中的所有字母都不区分大小写 D、C语言中的所有关键字必须小写 答案:D 下列四个叙述中,错误的是:() A、一个C源程序必须有且只能有一个主函数 B、一个C源程序可以有多个函数 C、在C源程序中注释说明必须位于语句之后 D、 C源程序的基本结构是函数 答案:C 下面不是C语言合法标识符的是:() A、abc B、5n C、_4m D、x3 答案:B 以下叙述不正确的是:() A.分号是C语句的必要组成部分 B.C程序的注释可以写在语句的后面 C.函数是C程序的基本单位 D.主函数的名字不一定非用main来表示答案:D C语言中允许的基本数据类型包括:() A. 整型、实型、逻辑型 B. 整型、实型、字符型 C. 整型、字符型、逻辑型 D. 整型、实型、逻辑型、字符型 答案:B C语言中能用八进制表示的数据类型为:() A、字符型、整型 B、整形、实型 C、字符型、实型、双精度型 D、字符型、整型、实型、双精度型 答案:A 下列属于C语言合法的字符常数是:() A、’\97’ B、”A” C、’\t’ D、”\0” 答案:C 在C语言(VC环境)中,5种基本数据类型的存储空间长度的排列顺序为:() A、char

C语言程序设计(自定义类型)期末单元测试与答案

一、单选题 1、若有以下结构体定义 struct A { int x; int y; }a; 则正确的引用或定义是() A.struct b; b.x = 10; B.struct A b = [10]; C.A.x = 10; D.A b; b.x = 10; 正确答案:B 解析:B、先定义类型Struct A的一个变量b,使用{}的方式为b提供初值,b正常需要两个值,而这里传一个值10,也是正确的,相当于把10赋值给b.x 2、设有以下定义 struct Stu { char name [10];

int score; }a,b; 则以下描述中错误的是() A.Stu为该结构体的类型名,故定义该结构体类型的一个变量c的语法为 Stu c; B.a和b为该结构体类型的两个成员 C.struct 为结构体类型的关键字 D.为变量a的score赋值98的语句可写为 a.score = 98; 正确答案:A 3、设有以下说明语句 struct ex { int x; float y; char z; }example; 则下面的叙述中不正确的是() A.example是结构体类型名 B.x、y、z都是结构体成员名 C.struct 是结构体类型的关键字

D.struct ex是结构体类型名 正确答案:A 解析:A、struct example是类型名,只写example并不知道其是函数名还是int变量名还是float变量名 4、以下结构体数组的定义格式中正确的是() struct stu { char name[10]; char no[15]; int score; }; A.struct a[10]; B.struct stu a[10]; C.struct stu [10]; D.stu a[10]; 正确答案:B 解析:B、类型名为struct stu 数组名为a 正确 5、以下描述中正确的是() typedef struct { int n; char ch[10];

国家二级C语言机试(C语言程序设计)模拟试卷1(题后含答案及解析)

国家二级C语言机试(C语言程序设计)模拟试卷1(题后含答案及 解析) 题型有:1. 选择题 选择题 1.若x为int变量,则以下语句的输出结果是( )。x=1234;printf(“|\%-06d|n”,x); A.输出格式描述符不合法 B.输出为|001234| C.输出为|1234| D.输出为|-01234| 正确答案:C 解析:本题主要考查C语言prinltf函数中格式控制字符串的使用,%表示格式说明的起始符号,“-”表示输出是否左对齐,“0”表示输出是空位是否填0。在本题中格式字符串的“f”将原样输出。若用格式描述’%6d’输出x值,则输出占6格,右对齐,左边用空格填满。若用格式描述%06d,将输出x值,输出同上,只是左边用0填满。若用格式描述%-06d,输出为左对齐即左边没有空位置,右边有空位置。知识模块:C语言程序设计 2.已知定义k为double类型变量,k=260.72631:p血t”%-6.2e \n”,k);则以上语句的输出结果是( )。 A.输出格式描述的域宽不够,不能输出 B.输出为26.07e+01 C.输出为2.6e+02 D.输出为-2.64e2 正确答案:C 解析:在C语言中,使用e格式描述符输出浮点数时(浮点数将以指数形式输出),用户可指定输出数据的宽度和小数部分的位数,其一般形式为%m.he 或%-m.ne,其中m、n和字符“-”的含义均与上题所述相同。需要指出的是,在不同的计算机系统中,虽然对指数部分应占宽度的规定不同,但是数值部分均按标准化指数形式输出(即小数点前必须有而且仅有一位非零数字)。本题按标准化指数形式输出k值的整数部分,截去小数点并四舍五入,输出项k的实际宽度为9列,而格式说明中所给定的域宽为6,因此,将自动突破规定宽度,而按实际宽度输出,输出结果为2.6e+02。知识模块:C语言程序设计 3.若m是int型变量,n是noat型变量,所用的scanf调用语句格式为:scanf(“m=%d,n=%f,”&m,&n);则为了将数据10和66.6分别赋给m 和n,正确的输入应当是( )。

C语言编程题及答案

) (*)(*)(*c s b s a s s ---C 语言编程题 1.(*)求分数序列:1/2,2/3,3/5,5/8,8/13,13/21...... 前20项的和。 main() {float i=1,j=2,t=0,s,n,m; for(n=1;n<=20;n++) s=i/j,m=i,i=j,j=m+j,t=t+s; printf("t=%f",t); } 2.(*)从键盘输入一个字符串,再将其逆序输出。(如:输入abcde ,输出edcba ) main() {int i; char c[10]; scanf("%s",c); for(i=9;i>=0;i--) printf("%c",c[i]); } 3.(*)已知abc+cba=1333,其中a 、b 、c 均为一位数,例如:617+716=1333, 518+815=1333, 试编程求出符合这一规律的a 、b 、c ,并输出结果。 main() {int a,b,c,x,y; for(a=1;a<=9;a++) for(b=0;b<=9;b++) for(c=1;c<=9;c++) { x=100*a+10*b+c; y=100*c+10*b+a; if(x+y==1333) printf("x=%d,y=%d",x,y);} } 4.(*)利用海伦公式求三角形面积,三边长a,b,c 由键盘输入。若输入的三边长不能构成 三角形,输出相应提示信息。海伦公式如下:其中s=(a+b+c)/2 三角形面积= #include"math.h" main() { float a,b,c,s,area; scanf("%f,%f,%f",&a,&b,&c); s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c)); if(a+b>c&&a+c>b&&b+c>a) printf("area=%f",area);

C语言程序设计试卷及答案

C语言程序设计考试试题 一、单项选择题 (每小题 1分,共 15分) 1.以下叙述正确的是 ( ) A.在C程序中,main函数必须位于程序的最前面 B.程序的每行中只能写一条语句 C.C语言本身没有输入输出语句 D.在对一个C程序进行编译的过程中,可发现注释中的拼写错误 2.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( ) A.必须为字母 B.必须为下划线 C.必须为字母或下划线 D.可以是字母、数字和下划线中的任意一种 3.判断字符型变量c1是否为数字字符的正确表达式为( ) A.’0’<=c1<=’9’ B.(c1>=0)&&(c1<=9) C. (‘0’>=c1)||(‘9’<=c1) D. (c1>=’0’)&&(c1<=’9’) 4.在C语言中,要求运算数必须是整型的运算符是( ) A./ B.++ C.!= D.% 5.下列表达式中,不满足“当x的值为偶数时值为真,为奇数时值为假”的要求的是() A.x%2==0 B.!(x%2==0) C.(x/2*2-x)==0 D.!(x%2) 6.下面程序段 int k=2; while (k!=0) {printf(“%d”,k);k--;} 则下面描述中正确的是( )。 A.while循环执行两次 B.循环是无限循环 C.循环题语句一次也不执行 D.循环体语句执行一次 7.C语言对嵌套if语句的规定,在不加复合语句时:else总是与( )。 A.其之前最近的if配对 B.第一个if配对 C.缩进位置相同的if配对 D.其之前最近的且尚未配对的if配对 8.已知一个函数的定义如下: double fun(int x, double y) { …… } 则该函数正确的函数原型声明为:( ) A.double fun (int x,double y) B.fun (int x,double y) C.double fun (int ,double ); D.fun(x,y) ; 9.已知下列程序段:

相关文档
相关文档 最新文档