C语言程序设计期末考试选择题题库

合集下载

c语言期末考试题库及详解答案

c语言期末考试题库及详解答案

c语言期末考试题库及详解答案C语言期末考试题库及详解答案一、选择题1. 下列哪个选项是C语言中正确的整型常量?A. 0.1234B. 0x12ABC. 0b1010D. 1e10答案:B2. C语言中,以下哪个关键字用于定义变量的存储类别?A. staticB. constC. typedefD. volatile答案:A3. 在C语言中,以下哪个运算符用于求两个数的余数?A. /B. %C.D. ++答案:B4. 下列哪个选项是C语言中正确的字符常量?A. 'A'B. "A"C. AD. 65答案:A5. 在C语言中,以下哪个函数用于计算两个数的最大值?A. max()B. min()C. pow()D. sqrt()答案:A二、填空题6. C语言中,用于定义数组的关键字是______。

答案:int7. C语言中,用于输入输出的库函数分别是______和______。

答案:scanf(); printf()8. C语言中,若要定义一个指针变量,需要使用关键字______。

答案:int*9. C语言中,用于定义函数的关键字是______。

答案:void 或其他数据类型10. C语言中,若要实现字符串的复制,可以使用库函数______。

答案:strcpy()三、简答题11. 简述C语言中结构体的定义方式。

答案:在C语言中,结构体是一种用户自定义的数据类型,它允许将多个不同类型的数据项组合成一个单一的类型。

结构体的定义方式如下:struct 结构体名 {数据类型成员名1;数据类型成员名2;...};12. 解释C语言中的递归函数。

答案:递归函数是一种函数自己调用自己的特殊函数。

递归函数通常用于解决可以被分解为相似子问题的问题。

递归函数需要有一个明确的终止条件,以防止无限递归。

四、编程题13. 编写一个C语言程序,实现求一个整数的阶乘。

答案:```c#include <stdio.h>long factorial(int n) {if (n <= 1) return 1;else return n * factorial(n - 1);}int main() {int num;printf("Enter a number: ");scanf("%d", &num);printf("Factorial of %d = %ld", num, factorial(num)); return 0;}```14. 编写一个C语言程序,实现字符串的反转。

大一c期末考试题及答案

大一c期末考试题及答案

大一c期末考试题及答案大一C语言期末考试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个选项是合法的标识符?A. 2variableB. variable2C. variable-2D. variable$2答案:B2. 下列哪个选项不是C语言的基本数据类型?A. intB. floatC. stringD. double答案:C3. 在C语言中,以下哪个选项不是运算符?A. +B. -C. %D. :答案:D4. 若有定义:int a=5, b=3;,则表达式a%b的值是多少?A. 2B. 1C. 0D. 3答案:A5. 下列哪个选项不是C语言中的控制语句?A. ifB. switchC. forD. while答案:B6. 在C语言中,以下哪个选项是正确的字符串声明?A. char str[5] = "hello";B. char str[] = {'h', 'e', 'l', 'l', 'o'};C. char str[6] = "hello";D. char str[] = "hello";答案:D7. 在C语言中,以下哪个函数用于计算字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A8. 下列哪个选项不是C语言中的数组?A. int a[5];B. int a[5] = {1, 2, 3, 4, 5};C. int a[] = {1, 2, 3};D. int a = {1, 2, 3};答案:D9. 在C语言中,以下哪个选项是正确的函数声明?A. int add(int a, int b);B. int add(int, int);C. int add();D. int add(int a);答案:A10. 在C语言中,以下哪个选项是正确的文件操作函数?A. fopen()B. fclose()C. printf()D. scanf()答案:A二、填空题(每空2分,共20分)1. 在C语言中,用于定义一个整型变量的关键字是________。

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

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

C语言程序设计期末考试试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列关于C语言函数的描述中,正确的是?A. 函数可以没有返回值B. 函数可以有多个返回值C. 函数可以没有参数D. 函数必须有参数答案:C3. 在C语言中,以下哪个运算符用于取地址?A. *B. &C. %D. #答案:B4. 下列关于数组的描述中,错误的是?A. 数组可以是多维的B. 数组的下标从0开始C. 数组的大小在编译时确定D. 数组可以动态分配答案:D5. C语言中,以下哪个关键字用于定义一个指针?A. intB. charC. *D. void答案:C6. 在C语言中,以下哪个关键字用于定义一个静态变量?A. staticB. externC. registerD. auto答案:A7. 下列关于C语言中文件操作的描述中,正确的是?A. 文件操作只能使用标准库函数B. 文件指针必须使用FILE类型C. 文件操作必须使用fclose函数关闭文件D. 文件操作不能使用缓冲区答案:B8. 在C语言中,以下哪个关键字用于定义一个宏?A. defineB. typedefC. enumD. struct答案:A9. 下列关于C语言中位运算的描述中,错误的是?A. & 表示按位与B. | 表示按位或C. ^ 表示按位异或D. ~ 表示按位取反答案:B10. 在C语言中,以下哪个关键字用于定义一个枚举类型?A. enumB. structC. unionD. typedef答案:A二、填空题(每题2分,共20分)1. 在C语言中,一个整型变量占用的内存空间通常是______个字节。

答案:42. C语言中,使用______关键字可以定义一个无限循环。

答案:while3. C语言中,数组的元素默认初始化为______。

C语言程序设计期末考试复习题及答案

C语言程序设计期末考试复习题及答案
5.在函数调用过程中,如果函数funA调用了函数 funB,函数funB又调用了函数funA,则 ( B )
A)称为函数的直接递归调用 B)称为函数的间接递归调用
C)称为函数的循环调用 D)C语言中不允许这样的递归调用
6.以下叙述中正确的是 ( A )
{ char a='a',b;
printf("%c,",++a);
printf("%c\n",b=a++);}
程序运行后的输出结果是a)b,b B)b,c C)a,b D)a,c
9.有以下函数定义:(c)
void fun(int n, double x) { …… }
1 main()
2 { int x;
3 if (x=90) printf(“right”);
4 else printf(“error”);
}
行号: 改为: main()
2 { char s[]=”china”;
(4) main()
{ int a,b;
a=5;
b=8;
p(a,b);
p(a+b,a);
}
p(int x,int y)
{
y=x+y;
printf(“%d %d”,x,y);
}
程序的运行结果是:
A)for(i=1,p=1;i<=5;i++) p*=i;B)for(i=1;i<=5;i++){ p=1; p*=i;}
C)i=1;p=1;while(i<=5){p*=i; i++;}D)i=1;p=1;do{p*=i; i++; }while(i<=5);

完整word版,C语言程序设计期末考试试题(含答案)

完整word版,C语言程序设计期末考试试题(含答案)

C语言程序设计期末考试试题及其答案一、单项选择题(本大题共20题,每题2 分,共40分)1、以下不是C语言的特点的是( )A、C语言简洁、紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件进行操作D、C语言移植性好2、以下不正确的C语言标识符是( )A、ABCB、abcC、a_bcD、ab.c3、一个C语言程序是由( )A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( )A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( )A、intB、floatC、doubleD、不确定6、在C语言中,char型数据在内存中的存储形式是( )A、补码B、反码C、源码D、ASCII码7、有如下程序,输入数据:12345M678<cR>后(<CR>表示回车),x的值是( ) 。

#include<stdio.h>main(){int x;float y;scanf("%3d%f",&x,&y);}A、12345B、123C、45D、3458、若有以下定义int a,b; float x,则正确的赋值语句是( )A、a=1,b=2B、b++;C、a=b=5D、b=int(x);9、以下程序的执行结果是( )#include<stdio.h>{int i=10,j=10;printf("%d,%d\n",++i,j--);}A、11,10B、9,10C、11,9D、10,910、巳知字母A的ASCII码是65,以下程序的执行结果是( )#include<stdio.h>main(){char c1='A',c2='Y';printf("%d,%d\n",c1,c2);A、A,YB、65,65C、65,90D、65,8911、下列运算符中优先级最高的是( )A、<B、十C、%D、!=12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。

c语言程序设计期末考试试卷

c语言程序设计期末考试试卷

c语言程序设计期末考试试卷C语言程序设计期末考试试卷一、选择题(每题2分,共20分)1. 在C语言中,以下哪个选项表示一个字符常量?- A. 'A'- B. "A"- C. \A- D. A2. 以下哪个是C语言中的合法标识符?- A. 2variable- B. variable2- C. variable!3. C语言中,以下哪个语句用于定义一个整型数组?- A. int array[10] = {0};- B. int [10] array = {0};- C. int array = [10] = {0};- D. int array[10];4. 以下哪个是C语言中定义函数的关键字?- A. function- B. method- C. def- D. int5. C语言中,以下哪个是正确的函数声明?- A. int add(int a, int b)- B. int add(int a, int b) {}- C. int add(int, int);- D. void add(int a, int b);6. 在C语言中,以下哪个语句用于实现循环?- A. do-while- B. for- C. switch-case- D. if-else7. 在C语言中,以下哪个语句用于实现条件判断? - A. if-else- B. switch-case- C. while- D. for8. 在C语言中,以下哪个语句用于实现跳转?- A. return- B. break- C. continue- D. goto9. 在C语言中,以下哪个是正确的字符串字面量? - A. "Hello World"- B. 'Hello World'- C. "hello world"- D. {"Hello World"}10. 在C语言中,以下哪个是正确的结构体定义?- A. struct person { int age; char name[20]; };- B. struct { int age; char name[20]; } person;- C. struct person { int age; char name; };- D. struct person int age; char name[20];二、填空题(每空1分,共10分)1. 在C语言中,一个整型变量的默认值是______。

c语言程序期末考试试题及答案

c语言程序期末考试试题及答案

c语言程序期末考试试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义函数?A. structB. staticC. voidD. function答案:C2. 下列哪个选项不是C语言中的基本数据类型?A. intB. floatC. charD. string答案:D3. 在C语言中,以下哪个运算符用于计算两个数的和?A. +B. -C. *D. /答案:A4. 下列哪个选项是正确的C语言注释方式?A. // 这是注释B. /* 这是注释 */C. //* 这是注释D. /* 这是注释 */答案:B5. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A6. 在C语言中,以下哪个关键字用于定义一个指针?A. intB. charC. floatD. *答案:D7. 在C语言中,以下哪个选项是正确的数组声明方式?A. int arr[5] = {1, 2, 3};B. int arr[] = {1, 2, 3};C. int arr[5] = {1, 2};D. int arr = {1, 2, 3};答案:A8. 在C语言中,以下哪个选项是正确的条件语句?A. if (condition)B. if (condition) { }C. if (condition) { } else { }D. All of the above答案:D9. 在C语言中,以下哪个选项是正确的循环语句?A. for (int i = 0; i < 10; i++)B. while (condition)C. do { } while (condition);D. All of the above答案:D10. 在C语言中,以下哪个函数用于计算两个数的和?A. printf()B. scanf()C. sum()D. None of the above答案:D二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型变量的正确方式是:`int ____;`答案:变量名2. 要输出一个字符串,应该使用函数:`____`答案:printf3. 要读取一个字符,应该使用函数:`____`答案:scanf4. 在C语言中,数组的索引从____开始。

c语言期末考试题及答案解析

c语言期末考试题及答案解析

c语言期末考试题及答案解析C语言期末考试题及答案解析一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的合法变量名?A. 2variableB. variable-nameC. variable#nameD. variable_name答案:D2. C语言中,以下哪个选项是正确的字符串定义?A. char str[10] = "Hello";B. char str[10] = {"Hello"};C. char str[] = "Hello";D. char str = "Hello";答案:C3. 在C语言中,以下哪个语句可以正确地交换两个整数变量a和b的值?A. a = b;B. b = a;C. a = a + b;D. a = a + b; b = a - b; a = a - b;答案:D4. 以下哪个函数不能用于数组元素的初始化?A. memsetB. memcpyC. strcpyD. memmove答案:C5. 在C语言中,以下哪个选项表示一个浮点型常量?A. 3.14B. 0.314e-2C. 314D. 0x3FF答案:B6. C语言中,以下哪个关键字用于定义函数?A. intB. floatC. voidD. return答案:A7. 在C语言中,以下哪个选项是正确的函数声明?A. int function();B. int function int a;C. int function(int a);D. int function(int);答案:C8. 以下哪个选项是C语言中的递归函数?A. void recursive(int n) {}B. void recursive() { recursive(); }C. void recursive(int n) { if (n > 0) recursive(n - 1); }D. void recursive(int n) { recursive(n + 1); }答案:C9. 在C语言中,以下哪个选项是正确的结构体定义?A. struct Person { int age; char name[50]; };B. struct { int age; char name[50]; } Person;C. Person struct { int age; char name[50]; };D. struct Person int age; char name[50];答案:A10. 在C语言中,以下哪个选项是正确的指针声明?A. int *ptr;B. *int ptr;C. int * ptr;D. ptr int *;答案:A二、填空题(每题2分,共10分)1. 在C语言中,使用________运算符可以获取变量的内存地址。

C语言程序设计期末考试复习题及答案

C语言程序设计期末考试复习题及答案

C语言考试期末考试复习题及答案一、选择题(1) 一个C语言程序总是从(C )开始执行A) 书写顺序的第一个函数B) 书写顺序的第一条执行语句C) 主函数main()D) 不确定(2) 设int x=3,y=4,z=5,则下列表达式中的值为0的是 ( D )A) ‘x’&&’y’B) x||y+z&&y-z C) x<=yD) !((x<y)&&!z||1)(3) 执行以下程序段后,i的值是 ( C )int i=10。

switch(i+1){ case 10: i++。

break。

case 11: ++i。

case 12: ++i。

break。

default : i=i+1。

}A) 11 B) 13 C) 12 D) 14(4) 语句while(!e)。

中的条件!e等价于 ( A )A) e==0 B)e!=1 C) e!=0D) 运行时出错(5) 用 int a[4]={1,2}。

对数组进行初始化后,数组元素a[3]的值是 ( B )A) 随机值B) 0 C) 1 D) F(6) 在执行char str[10]=“china\0”; strlen(str)的结果是 ( A )A)5 B) 6 D) 7 D 9(7) 若有定义,char *p=”computer”。

则语句printf(“%c”,*(p+2))运行结果是( B )A) 随机值B) m C)o D) omputer(8) 在以下函数调用语句中fun1(x,10,(x,10),fun2(y,10,(y,10)))。

函数fun1参数的个数为 ( B )A) 8 B) 4C) 5 D) 编译出错(9) 在说明一个结构体变量时系统分配给它的存储空间是( D )A)该结构体中第一个成员变量所需存储空间 B) 该结构体中最后一个成员变量所需存储空间C)该结构体中占用最大存储空间的成员变量所需存储空间D) 该结构体中所有成员变量所需存储空间的总和1. 用C语言编写的代码程序( B )A)可立即执行 B)是一个源程序 C)经过编译即可执行 D)经过编译解释才能执行2. C语言中用于结构化程序设计的三种基本结构是( A )A)顺序结构、选择结构、循环结构 B)if、switch、break C)for、while、do-while D)if、for、continue3. 以下定义语句中正确的是( C )A)char a='A'b='B'。

c期末考试题及答案

c期末考试题及答案

c期末考试题及答案一、选择题(每题2分,共20分)1. 下列哪项不是C语言的基本数据类型?A. intB. floatC. stringD. char答案:C2. 在C语言中,用于定义一个结构体的关键字是?A. structB. unionC. enumD. typedef答案:A3. 下列哪个选项不是C语言中的循环语句?A. forB. whileC. do-whileD. switch答案:D4. 在C语言中,以下哪个运算符用于取地址?A. *B. &C. %D. #答案:B5. C语言中,用于定义一个函数的关键字是?A. functionB. defineC. defD. void答案:D6. 下列哪个选项是C语言中的文件操作函数?A. printfB. scanfC. fopenD. fclose答案:C7. 在C语言中,哪个关键字用于声明一个全局变量?A. externB. staticC. autoD. register答案:A8. 下列哪个选项不是C语言中的逻辑运算符?A. &&B. ||C. =D. !答案:C9. C语言中,用于数组定义的关键字是?A. arrayB. listC. vectorD. []答案:D10. 在C语言中,哪个函数用于输出字符串?A. printfB. scanfC. putsD. getchar答案:C二、填空题(每题3分,共15分)1. 在C语言中,______关键字用于定义一个指针。

答案:*2. C语言中,______函数用于计算字符串的长度。

答案:strlen3. ______关键字用于在C语言中定义一个二维数组。

答案:[ ][ ]4. C语言中,______函数用于将字符串从源字符串复制到目标字符串。

答案:strcpy5. 在C语言中,______运算符用于比较两个值是否相等。

答案:==三、简答题(每题5分,共10分)1. 简述C语言中函数的调用过程。

c程序设计期末考试试题及答案

c程序设计期末考试试题及答案

c程序设计期末考试试题及答案一、选择题(每题2分,共20分)1. 下面哪个选项是C语言中的关键字?A. intB. floatC. stringD. array答案:A2. C语言中,下列哪个运算符用于比较两个值是否相等?A. ==B. =C. !=D. %答案:A3. 在C语言中,以下哪个函数用于将字符串转换为浮点数?A. atoi()B. atof()C. itoa()D. sprintf()答案:B4. 下列哪个选项是正确的C语言变量声明?A. int num = 10;B. int num = "10";C. int num = '10';D. int num = 10.0;答案:A5. C语言中,以下哪个语句用于循环执行代码块?A. forB. whileC. ifD. switch答案:A6. 在C语言中,以下哪个函数用于计算数组中元素的总和?A. sum()B. count()C. average()D. max()答案:A7. 下列哪个选项是C语言中正确的注释格式?A. // 这是注释B. /* 这是注释 */C. //* 这是注释 */D. /* 这是注释答案:A8. 在C语言中,如何定义一个指向整数的指针?A. int *p;B. int *p = 0;C. int *p = 10;D. int p = 10;答案:A9. 在C语言中,以下哪个选项是正确的函数定义?A. int function() {}B. int function() { return 0; }C. int function() { return; }D. int function() { return 1; }答案:B10. 下列哪个选项是C语言中正确的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello, WorldD. 'Hello, World'答案:A二、填空题(每题3分,共15分)1. 在C语言中,使用________运算符可以交换两个变量的值。

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

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

C语言程序设计期末考试试题含答案一、选择题(每题 3 分,共 30 分)1、以下选项中,不是 C 语言关键字的是()A intB floatC classD char答案:C解析:在 C 语言中,class 不是关键字,int、float 和 char 都是常见的数据类型关键字。

2、以下变量定义中,正确的是()A int a=b=5;B char a='A';C float a=55, b=66;D double a; b;答案:C解析:A 选项中不能在定义时连续赋值;B 选项应该是 char a ='A';注意单引号;D 选项应该是 double a, b; 中间用逗号分隔。

3、以下程序段的输出结果是()```cint a = 5, b = 4, c = 6;if (a > b && a > c)printf("a 最大\n");else if (b > a && b > c)printf("b 最大\n");elseprintf("c 最大\n");```A a 最大B b 最大C c 最大D 编译错误答案:C解析:因为 5 不大于 6,所以执行 else 部分,输出“c 最大”。

4、以下循环语句执行的次数是()```cfor (int i = 0; i < 5; i++){printf("%d ", i);}```A 4 次B 5 次C 6 次D 无限次答案:B解析:从 0 到 4 ,一共 5 次。

5、以下数组定义中,正确的是()A int a5 ={1, 2, 3, 4, 5, 6};B int a ={1, 2, 3};C int a5 ={1, 2};D int a3 =(1, 2, 3);答案:B解析:A 选项数组长度为 5,却初始化了 6 个元素;C 选项只初始化了前两个元素,后面三个元素默认为 0;D 选项初始化方式错误,应该用花括号。

c语言期末考试题及答案详解

c语言期末考试题及答案详解

c语言期末考试题及答案详解C语言期末考试题及答案详解一、选择题(每题2分,共20分)1. 下列哪个关键字用于定义C语言的函数?A. classB. functionC. voidD. int答案:D2. C语言中,哪个运算符用于取模?A. /B. %C. *D. -答案:B3. 在C语言中,哪个关键字用于声明一个变量为静态存储类别?A. staticB. autoC. registerD. extern答案:A4. 下列哪个不是C语言的控制语句?A. ifB. switchC. forD. loop答案:D5. 在C语言中,哪个函数用于将整数转换为字符串?A. atoiB. itoaC. atolD. tolower答案:B6. C语言中,哪个函数用于计算两个数的绝对值?A. fabsB. absC. fmodD. pow答案:B7. 在C语言中,哪个关键字用于声明一个函数的返回类型?A. returnB. typeC. valueD. type_of答案:A8. 下列哪个不是C语言的数组类型?A. intB. charC. floatD. string答案:D9. C语言中,哪个关键字用于定义一个结构体?A. structB. unionC. enumD. class答案:A10. 在C语言中,哪个函数用于打开一个文件?A. fopenB. fcloseC. freadD. fwrite答案:A二、填空题(每空2分,共20分)1. C语言中,一个完整的程序至少包含一个________函数。

答案:main2. 定义一个字符数组char str[10],使用________运算符可以给数组赋值。

答案:=3. 在C语言中,使用________关键字可以进行条件判断。

答案:if4. 一个C语言程序在编译时,首先会被预处理器处理,其中________指令用于包含头文件。

答案:#include5. C语言中,使用________函数可以输出格式化的字符串。

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

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

C语言程序设计期末考试试题及答案一、单项选择题(在每小题的四个备选答案中选出一个正确答案,并将正确答案的选项填入答题卡中的相应位置中。

每小题3分,共48分)1、以下合法的标识符为()A.3abB.intC.A-4D.Main2、已知int a=5; 则执行a+=a-=a*a;语句后,a的值为A)0 B)-40 C)10 D)-603、如果要把数值327存入变量a中,a不可以定义成什么类型()A.intB.charC.longD.float4、以十六位字长为基准,十进制数-123,则其机内码表示为()。

A)1000000000000100 B)1000000001111010C)-000000001111011 D)11111111100001015、执行下面程序段后,输出结果是______.int a;int b=65536;a=b;printf("%d\n",a);A) 65536 B) 0 C) -1 D) 16 若变量已正确定义并赋值,以下符合C语言语法的表达式是()。

A)a:=b+1 B)a=b=c+2 C)int 11.5%3 D)a=a-9=c 7以下选项中不能用作C程序合法常量的是A)1,234 B)'\123' C)123 D)01238下面程序段的运行结果是。

int n=0;while(n++<=2);printf("%d",n);A)2 B)3 C)4 D)语法错误9下面程序的执行结果是()main(){int x=017;printf("%d",x--);}A.14B.15C.16D.1710 已知int i,a;执行语句i=(a=4,a++,--a,a+4,a+5,++a);后,变量i的值为A)2 B)3 C)4 D)511若有语句:int a,b;scanf("%d;%d",&a,&b);如果把整数4赋给a,把整数5赋给b,应该输入()。

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

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

C语言程序设计期末考试试题含答案一、选择题(每题 2 分,共 40 分)1、以下选项中,不是 C 语言关键字的是()A intB floatC charD string答案:D解释:string 不是 C 语言的关键字,C 语言中表示字符串通常使用字符数组。

2、以下能正确表示八进制整数的是()A 0o123B 0123C 0x123D 123答案:B解释:在 C 语言中,八进制整数以数字 0 开头,所以 0123 是八进制整数。

3、以下变量定义中,合法的是()A int a=b=1;B char a='\0';C float 2a;D double a&;答案:B解释:A 选项中不能连续赋值;C 选项变量名不能以数字开头;D 选项变量名不能包含特殊字符&。

4、若有定义:int a=5, b=2; 则表达式 a/b 的值是()A 25B 2C 20D 3答案:B解释:C 语言中,两个整数相除结果为整数,舍去小数部分。

5、若有定义:int a5 ={1, 2, 3, 4, 5};则 a2的值是()A 2B 3C 4D 5答案:B解释:数组下标从 0 开始,所以 a2对应的值是 3 。

6、以下关于函数的叙述中,正确的是()A 函数可以嵌套定义B 函数可以嵌套调用C 函数可以没有返回值D 以上都不对答案:C解释:函数不能嵌套定义,但可以嵌套调用。

函数可以没有返回值,此时函数类型为 void 。

7、若有以下函数定义:```cint fun(int a, int b){return a + b;}```则调用 fun(1, 2)的返回值是()A 1B 2C 3D 4答案:C解释:函数 fun 实现了两个整数的相加,所以 fun(1, 2)的返回值是3 。

8、以下关于指针的叙述中,错误的是()A 指针可以指向变量B 指针可以指向数组C 指针可以指向函数D 指针不可以进行加减运算答案:D解释:指针可以进行加减运算,但运算的结果要根据指针所指向的数据类型来确定。

(完整版)C语言考试题库及答案

(完整版)C语言考试题库及答案

(完整版)C语言考试题库及答案一、选择题1. 以下哪个选项是C语言的合法标识符?A. intB. 2abcC. voidD. a+b答案:C2. 在C语言中,下列哪个选项是正确的数据类型?A. floatB. integerC. doubleD. All of the above答案:D3. 若变量定义如下:int a = 5;,则执行语句printf("%d", a++); 后,a的值是多少?A. 4B. 5C. 6D. 无法确定答案:C4. 以下哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()答案:A5. 在C语言中,哪个运算符用于取模(取余)?A. %B. /C. &D. |答案:A以下是判断题部分:6. C语言中的数组名可以作为指向该数组首元素的指针使用。

()答案:正确7. 在C语言中,结构体变量可以作为函数的参数传递。

()答案:正确8. 在C语言中,静态存储类别的变量在程序运行期间始终占据内存空间。

()答案:正确二、填空题9. 在C语言中,定义一个整型变量需要使用关键字______。

答案:int10. 若变量定义如下:int a = 10;,则执行语句printf("%d", a--); 后,a的值是______。

答案:911. 在C语言中,用于动态分配内存的函数是______。

答案:malloc12. 在C语言中,用于释放动态分配的内存的函数是______。

答案:free13. 在C语言中,用于清空标准输入缓冲区的函数是______。

答案:getchar()三、编程题14. 编写一个C语言程序,实现以下功能:输入一个整数,输出它的阶乘。

答案:```c#include <stdio.h>int main() {int n, i;long factorial = 1;printf("Enter an integer: ");scanf("%d", &n);if (n < 0) {printf("Factorial of a negative number doesn't exist.\n");} else {for (i = 1; i <= n; i++) {factorial = i;}printf("Factorial of %d is %ld\n", n, factorial);}return 0;}```15. 编写一个C语言程序,实现以下功能:输入一个字符串,判断它是否是回文(正读和反读都一样的字符串)。

C语言程序设计期末考试题库

C语言程序设计期末考试题库

C语言程序设计期末考试题库C语言程序设计期末考试题库一单项选择题1完成C源文件编辑后到生成执行文件C语言处理系统必须执行的步骤依次为A连接编译 B 连接运行C 编译运行D 编译连接2下列说法正确的是A一个c语言程序并非总是从主函数位置开始执行的B一个c语言程序有且只有一个主函数C函数可以嵌套定义不可以嵌套调用D程序函数的位置不可以任意3下面是合法C语言标识符的是A 2A_KB _MNC –M3D AC_24下列格式符中可以用于控制字符输出的是A dB fC oD c5设xyz和k都是int型变量则执行表达式x y 4z 16k 30 后x的值是A 4B 16C 30D 506执行语句for i 1s 0i 5i s i后变量si的当前值是A 105B 156C 155D 1067若有定义int xp则以下正确的赋值表达式是A p xB p xC p xD p x8以下对结构体类型变量的定义中不正确的是A typedef struct aaB define AA struct aa int n AA int nfloat m float mAA studAA studC structD structint n int nfloat m float maa studstruct aa stud9有如下函数调用语句func rec1rec2rec3 rec4rec5函数调用语句中含有的实参个数是A 3B 4C 5D 以上均不是10对于以下宏定义define SQ x xxdefine xy SQ x - SQ y宏调用 2323 执行后值为A25 B11C43 D以上均不是11完成C源文件编辑后到生成执行文件C语言处理系统必须执行的步骤依次为A连接编译 B 连接运行C 编译运行D 编译连接12下列说法正确的是A一个c语言程序并非总是从主函数位置开始执行的B一个c语言程序有且只有一个主函数C函数可以嵌套定义不可以嵌套调用D程序函数的位置不可以任意13下面是合法C语言标识符的是A 2A_KB _MNC –M3D AC_214下列格式符中可以用于控制字符输出的是A dB fC oD c15设xyz和k都是int型变量则执行表达式x y 4z 16k 30 后x的值是 A 4 B 16C 30D 5016执行语句for i 1s 0i 5i s i后变量si的当前值是A 105B 156C 155D 10617若有定义int xp则以下正确的赋值表达式是A p xB p xC p xD p x18以下对结构体类型变量的定义中不正确的是A typedef struct aaB define AA struct aaint n AA int nfloat m float mAA studAA studC structD structint n int nfloat m float maa studstruct aa stud19有如下函数调用语句func rec1rec2rec3 rec4rec5函数调用语句中含有的实参个数是A 3B 4C 5D 以上均不是20对于以下宏定义define SQ x xxdefine xy SQ x - SQ y宏调用 2323 执行后值为A25 B11C43 D以上均不是21.有如下程序的输出结果是mainint y 3x 3z 1Printf d d\n xy z2A 3 4B 4 2C 4 3D 3 322.下列说法不正确的是A 主函数main中定义的变量在整个文件或程序中有效B 不同函数中可以使用相同名字的变量C 形式参数是局部变量D 在一个函数内部可以在复合语句中定义变量这些变量只在本复合语句中有效23.算术表达式 xa3 int xy 24的值为其中x 35a 7y 47A 2500000B 3500000C 3000000D 450000024.设有如下定义int a 1b 2c 3d 4m 2n 3则执行表达式m a b常数的书写格式决定了常数的类型和值0x1011是A8进制整型常量 B字符常量C16进制整型常数 D2进制整型常数执行下列程序后 a值为int a ba 15b 12a a--b a5 a5A 0B 28C 4D 2A 地址传递B 单向的值传递C 由实参传给形参再由形参传给实参D 传递方式由用户指定34.有如下程序段int pab 1p ap 10a pb执行该程序段后a的值为A 12B 11C 10D 编译出错35.已知char和int类型分别占1和2个字节则sizeof yy 的返回值应为 unionchar a1int a2int a3yyA 2B 4C 5D 定义有错j为int型变量下列for循环语句的执行结果是for j 10j 3j--if j3 j----j --jprintf djA 6 3B 7 4C 6 2D 7 4 137宏定义"#define p xyz x yz"的宏替换"p ax5y-31 "应为A a x5y-31B a x5 y-31C a x5y-31D a x5 y-31 下列各语句定义了数组其中一个不正确的是A static int a[5]b[2][3]B char no[30]rec[306]C int x 246810D int x[10] 12345 hello Ca int i Di j40一个C程序由若干个C函数组成各个函数在文件中的书写位置为A 任意B 第一个函数必须是主函数其他函数任意C 必须完全按调用顺序排列D 其他函数必须在前主函数必须在最后41 以下选项中合法的字符常量是 B B \010C 68D D42若有以下定义则表达式的值为3的是int k 7x 12A x k 5B x k-k5C x k-k5D x k - x 543若已定义x和y为double类型则表达式x 1y x32的值是A 1B 2C 20D 2544判断字符变量c的值为数字0---9则返回1否则返回0可用表达式 A 0 c 9 B 0 cc 9C 0 cc 9D 9 c 045有如下程序该程序的执行结果是mainint n 9while n 6n-- printf dnA 987B 876C 8765D 987646若有以下的定义及语句则对数组元素正确引用的表达式是int a[5][4]int p [4] aA p1B p3C p1 2D p3 2 47有如下函数调用f 1234 的返回值为int f char sint k 0while sk k10s-0return kA 1234B 1234C 4321D 432148对于以下程序段运行后i的值为enum WEEK 1234567enum WEEK a 1int i 0switch acase 1 i 2case 2 i 3default i 4A 2B 0C 3D 4 49执行下列程序后变量i的值应为define TA xy x yint i 3i TA ii1 2A15 B 10 C12 D 14 50 变量a所占内存字节数是union Uchar st[4]int ilong lstruct Aint cunion U uaA 4B 5C 6D 851下列字符串不是标识符的是sum B Average C Day_night D MDJOHN52 在C语言中回车换行符是\ n B \ t C \ v D \ b53 在C语言中语句和数据定义是用作为结束标记的A.句号 B.逗号 C分号 D.括号54设有如下定义int x 10y 5z则语句printf d\nz x yxy的输出结果是A.0 B.1 C3 D.455以下程序的输出结果是mainchar c1 a c2 Aprintf ccdd\n c1 c2c1c2A.因输出格式不合法输出出错信息B.aA9765 C6597Aa D.aAaA56 完成C源文件编辑后经过编译连接生成文件扩展名为的可执行文件A cB exeC objD txt57下列运算符优先级最高的是A B C D58一个C程序的执行是从A.本程序中的main函数开始到main函数结束B.本程序中的第一个函数开始到本程序中的最后一个函数结束C本程序中的main函数开始到本程序中的最后一个函数结束D.本程序中的第一个函数开始到本程序中的main函数结束59以下叙述中正确的是A 构成C程序的基本单位是函数B 可以在一个函数中定义另一个函数C main 函数必须放在其它函数之前D 所有被调用的函数一定要在调用之前进行定义60设a和b均为double型常量且a 50b 20则表达式 int ab 的值是A 25 B 2000000 C 2500000 D 261取模运算符不能用于哪一种类型的运算AX 103 BX 63 CX 10241 DX 62831412下列对变量的定义哪个正确A int x int yB char s1s2C float ab Dchar if63字符串HELLO的长度是多少在内存中占用多少单元数A长度为6占6个单元 B 长度为6占7个单元C长度为7占7个单元 D 长度为7占6个单元64下列错误的赋值语句是AX Y 1 BX 34 CX F-A DX 2I65如果a 5b 6那么a b a5 b-3 和a ba b的值各是多少A00 B01 C10 D11以下是C语言提供的合法数据类型关键字A Float BChAR C Intger D unsigned以下选项中合法的字符常量是A B B \010 C 68 D D设正xy均为整型变量且x 10y 3则以下语句的输出结果是printf dd\nx----yA 102B 93C 92D 103下列字符串不是标识符的是YEAR B Average C stUDENT D 7_num66 以下选项中合法的字符常量是 B B \010C 68D D67若有以下定义则表达式的值为3的是int k 7x 12A x k 5B x k-k5C x k-k5D x k - x 568若已定义x和y为double类型则表达式x 1y x32的值是A 1B 2C 20D 2569判断字符变量c的值为数字0---9则返回1否则返回0可用表达式A 0 c 9B 0 cc 9C 0 cc 9D 9 c 070有如下程序该程序的执行结果是mainint n 9while n 6n-- printf dnA 987B 876C 8765D 987671若有以下的定义及语句则对数组元素正确引用的表达式是 int a[5][4]int p [4] aA p1B p3C p1 2D p3 272有如下函数调用f 1234 的返回值为int f char sint k 0while sk k10s-0return kA 1234B 1234C 4321D 432173对于以下程序段运行后i的值为enum WEEK 1234567enum WEEK a 1int i 0switch acase 1 i 2case 2 i 3default i 4A 2B 0C 3D 4 74执行下列程序后变量i的值应为define TA xy x yint i 3i TA ii1 2A15 B 10 C12 D 14 75 变量a所占内存字节数是union Uchar st[4]int ilong lstruct Aint cunion U uaA 4B 5C 6D 876以下程序的输出结果是mainint a 3printf d\n a a- aaA –6B 12C 0D –1277下列说法错误的是A一个c语言程序总是从主函数位置开始执行的B一个c语言程序有且只有一个主函数C函数可以嵌套定义不可以嵌套调用D程序函数的位置可以任意在C语言中语句和数据定义是用作为结束标记的A.分号 B.逗号 C句号 D.括号语句x y2与下列语句结果一样A x xy2B x 2xyC x x y2D x y2x下列各语句中能够且仅输出整型变量ab中最大值的是A if a b printf 〃d\n〃a printf 〃d\n〃bB printf 〃d\n〃b if a b printf 〃d\n〃aC if a b printf 〃d\n〃a else printf 〃d\n〃bD if a b printf 〃d\n〃a printf 〃d\n〃b以下程序的输出结果是mainint x 4y 2zprintf d\nz x- yxyA.0 B.1 C2 D.3以下不能正确定义二维数组的选项是Aint a[2][2] 1 2Bint a[2][] 12 34 56Cint a[2][2] 1 23 Dint a[][2] 1234 判断字符变量c的值为数字 09 则返回1否则返回0 可用表达式A 0 c c 9B 0 c 9C 0 c c 9D 以上均不是设j为int型变量下列for循环语句的执行结果是for j 7j 3j--if j3 j----j --jprintf djA 4B 4 0C 死循环D 4 1已知char和int类型分别占1和2个字节则sizeof yy 的返回值应为unionchar a1int a2int a3yyA 2B 4C 5D 定义有错以下程序的运行结果是define MIN xy x y x ymainint i 10j 13k k 10MIN ijprintf d\nkA 10B 130C 100D 1387 下列字符序列中不合法的C语言标识符的是A.abc123 B.no1 C._123_ D._ok88 以下说法中正确的是A.C语言程序总是从第一个定义的函数开始执行B.在C语言程序中要调用的函数必须在main 函数中定义C.C语言程序总是从main 函数开始执行D.C语言程序中的main 函数必须放在程序的开始部分89 设以下变量均为int类型则值不等于7的表达式是A. m n 6 mn m1B. m n 6 mn n1C. m 6 m1 n 6 mnD. m 6 m1 n m n190 当调用函数时实参是一个数组名则向函数传送的是 A 数组的长度 B 数组的首地址C 数组每一个元素的地址D 数组每个元素中的值A i 2sum 1 Bi 9sum 9 C i 10sum 9 D运行出现错误92 设xy和z都是int类型变量且x 3y 4z 5则下面的表达式中值为0的表达式是A.x y x yC.xyz y-z D. x y z1mainint n 4while n- -printf ″d″- -nA20 B31 C321 D21094 以下对一维整型数组a正确定义的是Aint a 10 B int n 10a[n]Cint n D define SIZE 10scanf "d"n int a[SIZE]int a[n]95 若定义如下变量和数组int iint x[3][3] 123456789则下面语句的输出结果是for i 0i 3i printf "d "x[i][2-i]A 1 5 9B 1 4 7C 3 5 7D 3 6 996 有下列程序输出结果是includemainunionint kchar i[2]sas as- i[0] 0x39s- i[1] 0x38printf "x\n"s- kA 3938B 3839 C380039 D39003897完成C源文件编辑后到生成执行文件C语言处理系统必须执行的步骤依次为A连接编译B编译连接C连接运行D运行98下列说法错误的是A一个c语言程序总是从主函数位置开始执行的B一个c语言程序有且只有一个主函数C函数可以嵌套定义不可以嵌套调用D程序函数的位置可以任意99C语句x y2还可以写作A x xy2B x 2yxC x x y2D x y2x100下列格式符中可以用于控制输出十进制整数的是A dB fC oD c101下列各语句中能够且仅输出整型变量ab中最大值的是A if a b printf 〃d\n〃a printf 〃d\n〃bB printf 〃d\n〃b if a b printf 〃d\n〃aC if a b printf 〃d\n〃a else printf 〃d\n〃bD if a b printf 〃d\n〃a printf 〃d\n〃b102执行语句for i 1i 10i s i后变量si的当前值是A 5511B 5510C 4510D 4511103下列各语句定义了数组其中一个不正确的是A int a〔5〕b〔2〕〔3〕B char no〔30〕rec〔〕C int x〔〕 246810D int x〔10〕 12345104下列算法的特性其中哪一个是不正确的A 有穷性B 有一个或多个输入C 不确定性D 可执行性105执行语句for i 0i 10ia scanf 〃d〃a 试图为int类型数组a〔10〕输入数据是错误的错误的原因是A变量不能做自增运算B数组首地址不可改变Ci应写作i Da应写作a106定义函数时缺省函数的类型声明则函数类型取缺省类型A voidB charC floatD int二填空题1设int a 5 c 32float b 25表达式bca的值为___ ___2若x和a均是int型变量则计算x a 462 后x的值是 __3设a 3b 4c 5则ab cb c的值为 ___4有如下程序段int k 10while k 0 k k-1则循环体语句执行___ 次5int i 0s 0while i n s i等价于 int isfor ______________________6将p说明为字符数组指针数组大小为10应写为______________7对于 int pqi 5j 6 执行p iq pp j输出结果 p _______ q ________8设有以下变量定义并已赋确定的值则表达式wxz-y所求得的数据类型为____ _ char w int x float y double z9当a=5b=4c=2时表达式a b c的值为____ __10 用for循环打印 1 4 7 10 13 16 19 22 25 其语句应for i 1 i 9 i printf 3d11执行语句a 5 c 6 后变量ac的值依次为___ _12若有定义int a[3][4] 12 0 46810 则a[1][2]的值为a[2][1]的值为_13表达式33的值为_______________isfor ______________________21将p说明为字符数组指针数组大小为10应写为______________22对于 int pqi 5j 6 执行p iq pp j输出结果 p _______ q ________23设xyz和k都是int型变量则执行表达式x y 4z 16k 32 后x的值为____ 24定义字符指针数组a数组大小为10应写为25对于整形变量ij 值分别为12 执行scanfi dj dijC语言中函数值类型的定义可以缺省此时函数值的隐含类型是31一个C源程序至少包括一个即32一个函数由两部分组成它们是和33C语言的数据类型有四大类它们是单精度实型34Break语句只能用于和语句35若x 3y z 4下列各式的结果是什么1 z y 102 z yy x3 x yxy4 x yxy5 xxx36在C语言中函数的隐含存储类型是____ ___37设有以下变量定义并已赋确定的值则表达式wxz-y所求得的数据类型为 char w int x float y double z38当a=5b=4c=2时表达式a b c的值为39若有说明int i j k 则表达式i 10j 20k 30k ij的值为______a 10b 20则表达式a b的值是___ ___用for循环打印 1 4 7 1013 16 19 22 25 其语句应为_ijk均为int变量执行完下面的循环后ijk值为_ __ 注ijk中任意答对一个均得分for i 0j 10i jij-- k ij执行完下列语句段后 i值为___int i 3 jj 10ii j i243若有定义int a[3][4] 12 375 46810 则a[1][2]的值为44若有以下定义和语句则 p 的值为int a[4] 1245 pp a[1]45 1≤x 30的C语言表达式是__ ___46 C语言中数组元素的下标下限为 __ ___47 表达式9 0的值为48 一个函数由两部分组成它们是和49 表达式x 2x-1x的值为50 有以下说明定义语句可用aday引用结构体成员day请写出引用结构体成员aday的其它两种形式int daychar mouthint yearabb a51若声明char a〔15〕〃Windows-XP〃执行语句printf 〃s〃a[3] 的输出结果为__ _52 定义如下typedef char INTINT n则变量n的类型为__ ____53设int a 5 c 32float b 25表达式bca的值为___ ___54计算ab中最小值的条件表达式为____ __55计算xy之和的平方根表达式应写作___ ___56执行语句a 5 c 6 后变量ac的值依次为___ _57执行语句n 1if n 5 n"后变量n值为___ ___58执行语句 s 0n 5while --n s n执行后变量sn值依次为____ __59若声明char a〔15〕〃Windows-9x〃执行语句printf 〃c〃a[3] 的输出结果为____ _60程序中使用了输入输出函数如printf 则应当包含的头文件名为____ 61设有以下变量定义并已赋确定的值则表达式wxz-y所求得的数据类型为____ _ char w int x float y double z62当a=5b=4c=2时表达式a b c的值为____ __63 用for循环打印 1 4 7 10 13 16 19 22 25 其语句应for i 1 i 9 i printf 3d64执行语句a 5 c 6 后变量ac的值依次为___ _65若有定义int a[3][4] 12 0 46810 则a[1][2]的值为a[2][1]的值为_66表达式33的值为_______________执行语句"for s 0i 1i 11i if i 6 continues i "后s值为______若声明"char a 〃windows〃b[ ] 〃 9x〃"执行语句"printf 〃s〃strcat ab "的输出结果为_____C语言中能表示a≥10或a≤10的关系表达式是 _ _______72计算ab中最小值的条件表达式为___ ___执行语句"a 5 c 6 "后变量ac的值依次为_____a 10b 20则表达式a b的值是__ ___int变量占两个字节的存储单元若有定义int x[10] 123 则数组x在内存中所占的字节为______ ______77在C语言中函数的隐含存储类型是______ _____78ab都是结构体变量语句"a b"能够执行的条件是___ ___int ijmni 8j 10m in jprintf 〃d d d d〃ijmn输出结果2 #includemainint ifor i 3i 10iif ii20 1 break printf "d "iprintf "\n"输出结果3 #includeint fac int nstatic int f 1f fnreturn fmainint ifor i 2i 5iprintf d d\nifac i输出结果4 #includemainchar s[] ABCDpfor p s1p \0pprintf s\np该程序的输出结果是5 #includeint f char sint k 0while s k k10s-0return kmainint aa f 1234printf a d\na该程序的输出结果是6. includevoid main voidint num 0while num 2num printf d\nnum输出结果7 includevoid main viodint asncounta 2s 0n 1count 1while count 4 n na s sn count printf s d s输出结果8 #includevoid mainint nfor n 1n 10nif n3continueprintf d n输出结果9 includevoid f int yint xy yx x xyvoid main viodint x 2y 4f yxprintf d d\nxy输出结果10 includevoid main voidint i j row col minint a[3][4] 1234 9876 -1-205 min a[0][0]for i 0i 3ifor j 0j4jif a[i][j] minmin a[i][j]row icol jprintf min d row d col d\n min row col输出结果11 #includemainint ijmni 8j 10m in jprintf 〃d d d d〃ijmn输出结果12 #includemainint ifor i 3i 10iif ii20 1 breakprintf "d "iprintf "\n"输出结果13 #includeint fac int nstatic int f 1f fnreturn fmainint ifor i 2i 5iprintf d d\nifac i输出结果14 #includemainchar s[] ABCDpfor p s1p \0pprintf s\np该程序的输出结果是15 #includeint k 0while s k k10s-0 return kmainint aa f 1234printf a d\na该程序的输出结果是16mainint ijmni 8j 10m in jprintf ddddijmn17mainint xx fun 4fun int nint sif n 1 n 2s 2elses nfun n-1return s18mainint a[6]= 471392 iinvert a05for i 0i 6i printf da[i] printf \ninvert int s[ ]int iint jint tif i jt s[i]s[i] s[j]s[j] t ij--19void f int a int bstatic int k 0a kb 2若执行 i 2j 4f ijf ji 后i和j的值为5mainstatic char a[] ABCDEFGHb[] ABCDefgH char p1p2int kp1 ap2 bfor k 0k 7kif p1k p2k printf c p1k20.mainchar s2 I love Chinas1 s2char s3cs4 zs3 cs3 ys2 s27printf s c s c\ns2s3s4s121.有如下程序mainint x 23doprintf dx--while x22.下面程序输出的是char s[ ] ABCDmainchar pfor p sp s4pprintf sp23.以下程序的输出结果是mainint w 5fun wprintf \nfun int kif k 0 fun k-1printf d k24.下面程序输出的是mainint k 4m 1pp f km printf dpp f km printf dpf int a int bstatic int m 0i 2i m1 m iab return m25两次运行下面程序如果从键盘上分别输入6和4则输出结果是mainint xscanf dxif x 5 printf dxelse printf dx--26. includevoid main voidint num 0while num 2num printf d\nnum输出结果27 includevoid main viodint asncounta 2s 0n 1count 1while count 4 n na s sn count printf s d s输出结果28 #includevoid mainint nfor n 1n 10nif n3continueprintf d n输出结果29 includevoid f int yint xy yx x xyvoid main viodint x 2y 4f yxprintf d d\nxy输出结果30 includevoid main voidint i j row col minint a[3][4] 1234 9876 -1-205 min a[0][0]for i 0i 3ifor j 0j4jif a[i][j] minmin a[i][j]row icol jprintf min d row d col d\n min row col输出结果31 若有以下程序mainint k 2i 2mm k i k printf "dd\n"mi执行后的输出结果是32有以下程序#includevoid mainint nfor n 1n 10nif n2 0continueprintf d n程序运行后的输出结果是33有以下程序int f int nif n 1 return 1else return f n-1 1mainint ij 1for i 1i 3i j f iprintf "d\n"j程序运行后的输出结果是34有以下程序mainint aa[4][4] 1234 5678 39102 4296 int is 0for i 0i 4i s aa[i][i]printf "d\n"s程序运行后的输出结果是35有以下程序int fb int xreturn xxxmainint ii fb 2 printf "d\n"i程序运行后的输出结果是36有以下程序main voidint num 0while num 2num printf d\nnum执行后的输出结果是mainint x 5doprintf dx--while x该程序的执行结果是38.运行下面程序如果从键盘上输入5则输出结果是mainint xscanf dxif x 5 printf dxelse printf dx--39运行下面程序includevoid f int yint xy yx x xyvoid main viodint x 1y 2f yxprintf d d\nxy输出结果是40运行下面程序includevoid main voidint i j row col mint a[3][4] 1234 9876 -1-205 m a[0][0]for i 0i 3ifor j 0j 4jif a[i][j] mm a[i][j] row i col j printf m d row d col d\nm row col输出结果是41 include stdiohmainint kscanf d kswitch kcase 1 printf d\n kcase 2 printf d\n kcase 3 printf d\n kcase 4 printf d\n kbreakdefault printf Full\n从键盘输入为3时屏幕上的输出结果是42 int i a[10]for i 9i 0i- - a[i] 10-iprintf "ddd"a[2]a[5]a[8]屏幕上的输出结果是43 includedefine SUB XY X Ymainint a 3 b 4printf "d" SUB a b屏幕上的输出结果是44 int ff int nstatic int f 1f fnreturn fmainint ifor i 1i 5i printf "5d"ff i屏幕上的输出结果是45 include "stdioh"void fun int x int yprintf "d d " x yx 3y 4mainint x 1 y 2fun y xprintf "d d" x y屏幕上的输出结果是46#includevoid mainint ifor i 1i 5i printf 〃dc\n〃iAi输出结果47 #includevoid main int iindex 0int iage[10] 0。

c语言程序设计期末试题A(含答案)

c语言程序设计期末试题A(含答案)

c语言程序设计期末试题A(含答案)一、单项选择题(选择一个最佳答案,每题2分,共20分)1.一个C程序的执行是从(A )。

A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序的main函数开始,到本程序文件的最后一个函数结束D) 本程序文件的第一个函数开始,到本程序main函数结束2.下列选项中,不能用作标识符的是(D )。

A) _1234_ B) _1_2 C) int_2_ D) 2_int_3.以下定义语句中正确的是( C)。

A) char a='A'b='B'; B) float a=b=10.0;C) int a=10,*b=&a; D) float *a,b=&a;4.设有以下定义:#define d 2int a=0; double b=1.25; char c=’A’;则下面语句中错误的是(B)。

A) a++; B) b++ C) c++; D) d++;5.以下4个选项中,不能作为一条C语句的是(D)。

A) {;} B) a=0,b=0,c=0; C) if(a>0); D) if(b==0) m=1;n=2;6.有以下定义语句 double a,b; int w; long c;若各变量已正确赋值,则下列选项中正确的表达式是( C)。

A) a=a+b=b++ B) w%(int)a+b) C) (c+w)%(int)a D) w=a==b;7.设有定义:int n=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是(D)。

A) p=1; B) *q=2; C) q=p; D) *p=5; 选D.A.p是一个指针,不能给它赋一个整型的值1B.*q仍然是一个指针,*q就是p.所以也不能给它赋一个整型的值.C.q=p;q是个二级指针,p是一级指针,不能把一级指针赋给二级指针.*p=5,即给n赋值为5,正确.8.设有定义:int a,*pa=&a; 以下scanf语句中能正确为变量a读入数据的是( A)。

大一c程序设计期末考试题及答案

大一c程序设计期末考试题及答案

大一c程序设计期末考试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言中变量的描述,错误的是:A. 变量名必须以字母开头B. 变量名中可以包含下划线C. 变量名区分大小写D. 变量名可以包含数字答案:D2. C语言中,用于定义字符常量的是:A. 单引号B. 双引号C. 反引号D. 尖括号答案:A3. 下列哪个选项不是C语言中的运算符?A. 赋值运算符B. 关系运算符C. 逻辑运算符D. 条件运算符答案:D4. 在C语言中,用于定义一个整型数组的语句是:A. int array[5];B. int array[];C. int array[5]={0};D. int array[5]={0,1,2,3,4};答案:A5. 下列关于C语言函数的描述,正确的是:A. 函数可以没有返回值B. 函数可以有多个返回值C. 函数可以没有参数D. 所有选项都是正确的答案:D6. C语言中,用于输入输出的库函数是:A. printfB. scanfC. printf和scanfD. 以上都不是答案:C7. 下列关于C语言中指针的描述,错误的是:A. 指针可以存储地址B. 指针可以存储值C. 指针可以作为函数的参数D. 指针可以作为函数的返回值答案:B8. 在C语言中,用于定义结构体的关键字是:A. structB. unionC. enumD. typedef答案:A9. 下列关于C语言中循环的描述,错误的是:A. for循环可以没有初始化部分B. while循环可以嵌套使用C. do-while循环至少执行一次D. 循环体内可以包含break语句答案:A10. C语言中,用于定义枚举类型的关键字是:A. enumB. structC. unionD. typedef答案:A二、填空题(每题2分,共20分)1. C语言中,用于定义整型变量的关键字是____。

答案:int2. 在C语言中,表示逻辑与的运算符是____。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一章1、一个C程序可能出现的错误有(A)A,以上都包括B,逻辑错误C,运行错误D,语法错误2、C程序中一般可以包含几个函数(D)A.1个B.多个C.0个D.至少一个3.C语言属于程序设计语言的哪个类别(B)A.机器语言B.高级语言C.面向对象语言D.汇编语言4.以下关于C语言描述错误的是(B)A.一个C程序总是从main函数开始执行B.一个C程序可以包含多个main函数C.每个语句的最后必须有一个分号D.C语言的注释符是以"/*"开始并以"*/"结束5、在调试过程中,逻辑错误是指(C)A.所书写的语句,不符合C的语法。

B.在从obj生成exe文件的过程中,如果函数名书写错误,可能产生的错误。

C.程序的运行结果不符合题目要求。

D.在exe文件的执行过程中,产生运行异常。

第二章1、16位的二进制数可以表示的整数的范围是(C)A.[-32768,32768]B.[-32767,32768]C.[-32768,32767]D.[-32767,32767]2、C语言中的实型数据包括(A)A.float和doubleB.int和floatC.float和charD.int和double3、以下不合法的字符常量是(C)A.'2'B.'A'C.'ab'D.'\n'4、在以下各组标识符中,均是合法的C语言标识符是(A)A.abc,A_4d,_student,xyz_abcB.auto,12-a,a_b,ab5.xC.A_4d,_student,xyz_abc,ifD.abc,a_b,union,scan5、若有定义:char a;int b;float c;double d;则表达式a*b+d-c值的类型为(A)A.charB.floatC.doubleD.int6、类型修饰符unsigned不能修饰(D)A.charB.long intC.intD.float7、若有定义:double x=1,y;执行语句y=x+3/2;,则y的值是(B)A,1B,2.0C,2D,2.58、设int a=1,b=2;以下选项中不正确的语句是(B)A.a=a+bB.a*3=3C.a+=3D.a/=19、在C语言中,要求参加运算的数必须是整数的运算符是(C)A.*B./C.%D.++10、设有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是(D)A,3.5B,2.75C,0.0D,2.5第三章1、执行以下程序后k的值是(C)int i,j=10,k=0;for(i=0;i<=j;i++){k=i+j;j--;}A.9B.8C.10D.112、2、设int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为(C)A.3B.1C.2D.03、表示y在(-∞,3]和[23,+∞)范围内为真的表达式为(A)A.(y<=3)||(y>=23)C.(y<3)||(y>23)C.(y<=3)&&(y>=23)D.(y<3)&&(y>23)4、设有以下程序,若要使程序的输出值为2,则应该从键盘给n输入的值是(D)void main(){ int s=0,a=1,n;scanf("%d",&n);do{s=s+1;a=a-2;}while(a!=n);printf("%d ",s);}A.-5B.0D.-35、对下面程序段,描述正确的是(D)for(t=1;t<=100;t++){ scanf("%d",&x);if(x<0) continue;printf("%d ",x);}A.当x>=0时,什么也不输出B.printf函数永远也不执行C.当x<0时,整个循环结束D.最多允许输出100个非负整数6、已知int x=10,y=20,z=30;则执行以下语句后x、y、z的值是(A)if(x>y)z=x;x=y;y=z;A.x=20,y=30,z=30B.x=20,y=30,z=10C.x=20,y=30,z=20D.x=10,y=20,z=307、设有声明语句:int a=1,b=0;则执行以下语句后输出结果为(A)switch(a){ case 1:switch(b){ case 0:printf("**0**");break;case 1:printf("**1**");break;}case 2:printf("**2**");break;}A.**0****2**B.有语法错误C.**0****1****2**D.**0**8、以下程序段的输出结果是(B)int x=5;if(x--<5) printf("%d",x);else printf("%d",x++);B.4C.5D.39、算法描述可以有多种表达方法,下面(C)方法不可以描述算法A.自然语言B.伪代码C.机器语言D.N-S图10、for(i=j=0;i<10&&j<8;i++,j+=3)控制的循环体执行的次数是(C)A.2B.8C.3D.9第四章1、包含标准库函数scanf声明的头文件是(B)A.stdlib.hB.stdio.hC.time.hD.math.h2、以下关于函数的叙述中正确的是(C)A.C语言程序将从源程序中第一个函数开始执行B.可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C.C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束D.main可作为用户标识符,用以定义任意一个函数3、以下正确的函数定义是(A)A.double fun(int x,int y) { double z; z=x+y; return z; }B.double fun(int x,int y) { z=x+y; return z; }C.fun(x,y){ int x,y; double z; z=x+y; return z; }D.fun(int x,y) { int z; return z; }4、C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是(D)A.地址传递B.由用户指定传递方式C.由实参传给形参,再由形参传回实参D.单向值传递5、以下正确的描述是(A)A.函数的定义不可以嵌套,但函数的调用可以嵌套B.函数的定义可以嵌套,但函数的调用不可以嵌套C.函数的定义和函数的调用均可以嵌套D.函数的定义和函数的调用均不可嵌套6、以下关于函数的叙述中不正确的是(C)A.C程序是函数的集合,包括标准库函数和用户自定义函数B.在C语言程序中,函数的定义不能嵌套C.在C语言程序中,被调用的函数必须在main函数中定义D.在C语言程序中,函数的调用可以嵌套7、下列程序的运行结果是(D)#include <stdio.h>void fun();int main(){int a=10;fun();printf("]",a);return 0;}void fun(){int a=20;printf("]",a);}A,20 20B,10 20C,10 10D,20 108、下列程序的运行结果是(D)#include <stdio.h>int fun1(int x);void fun2();int x=5;int main(){int x=1;x=fun1(x);printf("%d",x);return 0;}int fun1(int x){x++;fun2();return x;}void fun2(){x++;}A.7B.5C.6D.29、以下不正确的说法是(C)A.在函数内定义的变量只在本函数范围内可以使用B.形式参数是局部变量C.在主函数内定义的变量可在其余函数中通用D.在不同函数中可以使用相同名字的变量10、下列程序的运行结果是()#include <stdio.h>void fun();int a=5;int main(){int a=10;fun();printf("]",a);return 0;}void fun(){a=a+5;printf("]",a);}A.5 5B.10 5C.5 10D.10 10第五章1、利用冒泡排序得到升序排列,每一趟中从前到后遍历数组,将相邻两个数作比较,如果前面的数小于后面的数,则(C)。

A.将当前数据后移B.交换两个数的位置C.不做操作D.将当前数据前移2、在定义int m[ ][3]={1,2,3,4,5,6};后,m[1][0]的值是(C)。

A.2B.1C.4D.53、若给出以下定义:char x[ ]="abcdefg";char y[ ]={'a','b','c','d','e','f','g'};则正确的叙述为(C)。

A.数组x和数组y等价B.数组x和数组y的长度相同C.数组x的长度大于数组y的长度D.数组x的长度小于数组y的长度4、函数调用语句为:int a[10],maxnum;…maxnum=max(a);函数定义首部应为(B)。

A.double max(int b[])B.int max(int b[])C.int max(int a)D.int max(int b)5、若有定义:int b[3][4]={0};则下述正确的是(D)。

A.没有元素可得初值0B.数组b中各元素可得初值但值不一定为0C.此定义语句不正确.D.数组b中各元素均为06.C语言中,由固定数目的同类型的变量按一定顺序排列而构成的是(A)。

A.数组B.结构体C.链表D.队列7、冒泡排序中,若有n个数,第一趟最多需要比较(C)次。

A.nB.2(n-1)C.n-1D.2n8.当数据已知的情况下,可以在定义数组时,对数组进行初始化,但不可(A)。

A.在方括号中写入变量表达式B.对数组元素赋同一初值C.对部分元素赋初值D.对全部元素赋初值9、数组元素下标可从(0)开始。

相关文档
最新文档