C语言期末模拟试卷
- 格式:doc
- 大小:57.00 KB
- 文档页数:3
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语言期末复习试题附答案一、选择题(每题2分,共20分)1. C语言中,下面哪个选项不是合法的数据类型?A. intB. floatC. doubleD. character答案:D2. 在C语言中,下面哪个选项是合法的变量名?A. 2abcB. abc12C. abc_12D. abc&12答案:B3. 下面哪个选项不是C语言的运算符?A. +C.D. %答案:D4. 在C语言中,下面哪个选项表示取模运算?A. %B. /C.D. ^答案:A5. 下面哪个选项是C语言中的关系运算符?A. ==B. !=C. >D. <答案:A、B、C、D6. 下面哪个选项是C语言中的逻辑运算符?B. ||C. !D. &答案:A、B、C7. 下面哪个选项是C语言中的赋值运算符?A. =B. +=C. -=D. =答案:A、B、C、D8. 下面哪个选项不是C语言中的控制语句?A. ifB. whileC. do-whileD. for答案:D9. 在C语言中,下面哪个选项表示循环不变量?A. 初始化表达式B. 循环条件C. 循环体D. 步进表达式答案:D10. 下面哪个选项是C语言中的递归调用?A. function(function());B. function();function();C. function(function());function();D. function();function(function());答案:A二、填空题(每题2分,共20分)1. C语言中,一个整型数据占____个字节。
答案:42. C语言中,一个浮点型数据占____个字节。
答案:43. 在C语言中,一元运算符“++”和“--”的优先级高于二元运算符“+”、“-”、“”、“/”、“%”。
答案:正确4. 在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语言考试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述,正确的是()。
A. C语言是一种面向对象的编程语言B. C语言是一种面向过程的编程语言C. C语言是一种脚本语言D. C语言是一种汇编语言答案:B2. 在C语言中,用于定义常量的关键字是()。
A. varB. constC. staticD. final答案:B3. 下列哪个选项不是C语言中的基本数据类型()。
A. intB. floatC. charD. string答案:D4. 在C语言中,用于实现循环结构的关键字是()。
A. loopB. forC. whileD. repeat5. 下列关于数组的描述,错误的是()。
A. 数组可以存储一系列相同类型的数据B. 数组的索引从0开始C. 数组的大小在定义时可以改变D. 数组可以存储不同类型的数据答案:D6. 下列关于函数的描述,正确的是()。
A. 函数可以没有返回值B. 函数可以返回多个值C. 函数可以没有参数D. 函数可以有多个返回值答案:C7. 在C语言中,用于定义指针的关键字是()。
A. refB. ptrC. *D. @答案:C8. 下列关于结构体的描述,正确的是()。
A. 结构体是一种用户自定义的数据类型B. 结构体不能包含其他结构体C. 结构体不能包含函数D. 结构体不能包含数组答案:A9. 在C语言中,用于定义枚举类型的关键字是()。
B. enumtypeC. enumstructD. enumlist答案:A10. 下列关于文件操作的描述,错误的是()。
A. 文件操作需要使用文件指针B. 文件操作前需要打开文件C. 文件操作后需要关闭文件D. 文件操作只能在程序内部进行答案:D二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型变量的正确语法是:________。
答案:int variable_name;2. 用于声明一个字符变量的关键字是:________。
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语言期末考试题库及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于声明函数?A. intB. voidC. returnD. function答案:A2. 以下哪个选项是正确的C语言变量声明?A. int a = b = 2;B. int a = 2, b;C. int a = 2.0;D. int a = 2, b = 3.0;答案:B3. 在C语言中,以下哪个运算符用于逻辑“与”操作?A. &&B. ||C. !D. &答案:A4. 以下哪个选项是C语言中的合法数组声明?A. int array[5] = {1, 2, 3, 4, 5};B. int array[] = {1, 2, 3, 4, 5};C. int array[5] = {1, 2, 3};D. int array[5] = {1, 2, 3, 4, 5, 6};答案:B5. C语言中,以下哪个函数用于计算两个整数的和?A. max()B. pow()C. sqrt()D. sum()答案:D6. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A7. 以下哪个选项是C语言中的合法指针声明?A. int *ptr;B. int *ptr = 0;C. int *ptr = "hello";D. int *ptr = 5;答案:A8. 在C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcat()B. strcpy()C. strcmp()D. strlen()答案:B9. C语言中,以下哪个关键字用于创建一个循环,直到满足某个条件?A. whileB. forC. do-whileD. switch答案:C10. 在C语言中,以下哪个函数用于动态内存分配?A. malloc()B. calloc()C. realloc()D. free()答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个宏。
c语言模拟考试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. variable-2D. variable$2答案:B2. C语言中,哪个关键字用于声明一个变量?A. defineB. varC. letD. int答案:D3. 下列哪个选项是C语言中的整型常量?A. 0x1AB. 1.23C. 1e2D. "123"答案:A4. 在C语言中,哪个函数用于计算字符串的长度?A. strlen()B. length()C. size()D. lengthof()5. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. !D. A和B答案:D6. C语言中,哪个关键字用于声明一个函数?A. functionB. defC. defineD. void答案:D7. 在C语言中,哪个函数用于将字符串复制到另一个字符串?A. strcpy()B. copy()C. duplicate()D. copystr()答案:A8. 下列哪个选项是C语言中的浮点型常量?A. 3.14B. 3.14e2C. 3.14E2D. A和C答案:D9. 在C语言中,哪个关键字用于声明一个数组?B. listC. tableD. int[]答案:D10. 下列哪个选项是C语言中的位运算符?A. &B. |C. ^D. A和B答案:D二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个宏。
答案:#define2. C语言中,使用________函数可以将一个浮点数转换为字符串。
答案:sprintf3. 在C语言中,使用________关键字可以跳过当前循环的剩余部分,继续下一次循环。
答案:continue4. C语言中,使用________关键字可以立即退出循环。
C语言期末试卷一、填空1. int x=4,y=z=2;z=x==(y=z); 则z的值为。
2. 设a,b,t 为整型变量,初值为a=7,b=9,执行完语句t=(a>b)?a:b后,t 的值是。
3. 设x=72,表达式x=(x>=60)的值为。
4. sqrt()函数的原型在头文件中。
5. int x=2;z=-x+++1; 则z的值为。
二、判断1. 若有说明int c;则while(c=getchar());是正确的C语句。
2. 结构体类型只有一种。
3. 若有宏定义:#define S(a,b) t=a;a=b;b=t由于变量t没定义,所以此宏定义是错误的。
4. 参加位运算的数据可以是任何类型的数据。
5. 若有 int i=10,j=2;则执行完i*=j+8;后ⅰ的值为28。
三、单项选择1. 若有下列定义,则对a数组元素地址的正确引用是()。
int a[5],*p=a;A:*(p+5) B:*p+2 C:*(a+2) D:*&a[5]2. 在C语言的函数中,下列正确的说法是()。
A:必须有形参B:形参必须是变量名C:可以有也可以没有形参D:数组名不能作形参3. 若有说明:int a[3][4];则数组a中各元素()。
A: 可在程序的编译阶段得到初值0 B: 可在程序的运行阶段得到初值0 C:可在程序的编译或运行阶段得到初值0 D: 不能得到确定的初值04. 设C语言中,int类型数据占2个字节,则short类型数据占()。
A:1个字节B:2个字节C:4个字节D:8个字节5. 若变量a与i已正确定义,且i已正确赋值,合法的语句是()。
A:a==1 B:++I C:a=a++=5 D:a=int(i)6. 若有说明:int a[10];则对a数组元素的正确引用是()。
A:a[10] B:a[3,5] C:a(5) D:a[10-10]7. 若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是()。
c语言期末模拟考试题及答案一、选择题(每题2分,共20分)1. 下列哪个关键字用于定义一个结构体?A. intB. structC. floatD. char答案:B2. C语言中,哪个函数用于计算字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A3. 若有以下代码段:```cint a = 10;int b = 20;```则执行以下哪个语句后,变量a的值会变为20?A. a = b;B. b = a;C. a = b + a;D. a = a + b;答案:A4. 在C语言中,哪个运算符用于取模运算?A. %B. /C. *D. -答案:A5. 下列哪个选项是C语言中的合法变量名?A. 2variableB. variable2C. -variableD. variable!答案:B6. C语言中,哪个函数用于将字符串复制到另一个字符串?A. strcpy()B. strncpy()C. strcat()D. strcmp()答案:A7. 若有以下代码段:```cint a = 5;printf("%d", a++);```执行后,屏幕上显示的数字是?A. 5B. 6C. 4D. 0答案:A8. C语言中,哪个关键字用于声明一个函数?A. intB. voidC. returnD. function答案:B9. 在C语言中,哪个运算符用于逻辑与?A. &&B. ||C. !D. &答案:A10. 下列哪个选项是C语言中的合法常量?A. 123B. 0x1AC. 1.23e2D. All of the above答案:D二、填空题(每题2分,共20分)1. C语言中,用于定义一个整型数组的关键字是________。
答案:int2. 若定义一个指向整型的指针变量p,则p的类型是________。
c语言期末考试题库及详解答案1. 以下哪个选项是C语言中正确的整型常量?A. 0x123B. 0123C. 0.123D. 123.0答案:A解析:在C语言中,整型常量可以是十进制、八进制或十六进制。
选项A表示十六进制数,选项B表示八进制数,选项C是浮点数,选项D 是浮点数。
2. C语言中,以下哪个关键字用于声明函数?A. intB. floatC. voidD. function答案:C解析:在C语言中,关键字void用于声明没有返回值的函数。
选项A 和B用于声明返回整型和浮点型值的函数,选项D不是C语言的关键字。
3. 以下哪个选项是C语言中正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello World'"D. 'Hello World'答案:A解析:在C语言中,字符串字面量是由双引号括起来的字符序列。
选项B和D使用了单引号,它们表示单个字符。
选项C的引号没有正确闭合。
4. 在C语言中,以下哪个运算符用于取模运算?A. %B. /C. *D. -答案:A解析:在C语言中,百分号(%)是取模运算符,用于计算两个整数相除的余数。
选项B是除法运算符,选项C是乘法运算符,选项D是减法运算符。
5. 以下哪个选项是C语言中正确的数组声明?A. int array[5] = {1, 2, 3, 4, 5};B. int [5] array = {1, 2, 3, 4, 5};C. int array[] = {1, 2, 3, 4, 5};D. int array[5] = {1, 2, 3};答案:C解析:在C语言中,数组的声明可以省略数组的大小,编译器会根据初始化列表的长度自动计算数组的大小。
选项A和B的声明方式不正确,选项D没有为数组的所有元素提供初始化值。
6. C语言中,以下哪个函数用于计算两个数的和?A. max(a, b)B. min(a, b)C. sum(a, b)D. pow(a, b)答案:C解析:在C语言的标准库中,没有内置的sum函数。
山东经济学院 2010 -- 2011学年第 1学期期末试题
程序设计基础Ⅰ(010035)试卷(1)
注意事项:所有的答案都必须写在答题纸上,答在试卷上一律无效
Section 1、Please mark right or wrong with each statement (total: 20 marks, 2 mark for each item)
1.The function body is enclosed in braces { }.
2. C language supplies three kinds of loop statements: while, for
and do-while.
3.External variable is the global variable to all functions in
a program.
4.The continue statement causes an immediate exit from the switch.
5.The precedence of ?: is very low, but above assignment =.
Section 2:Please mark the best choice with each question(total: 30 marks, 2 mark for each item)
1.After executing the following code fragment:
int i;
for(i=2;i++<6;) ;
the value of the variable i____.
A: 3 B: 4 C: 5 D: 6
2.The correct initialization of array is ____.
A: int a[]="Hello,World"
B: int a[5]={0,1,2,3,4,5};
C: char a[6]="string"
D: char a[6]={'s','t','r','i','n','g'};
3.the value of this expression : a=10==9 is ______.
A: true B: non-zero C: 0 D: 1
4.The _____ operator cannot be applied to a float or double
A: % B: / C: = D: <=
5.According to the declaration: int n[11]; the last element of
the array a is ______.
A: n[10] B: n[12] C: n[9] D: n[11]
Section 3:Please read the program and write the output of the program (total: 20 marks, 5 mark for each item )
- 1 - (共3 页)
1.If we input a 100 when the program is running,the output is_____
main ( )
{ int a ;
scanf(“%d”,&a);
printf(“%s”,(a%2!=0)?”No”:”Yes”);
}
2.
main ( )
{ int y=2,a=1;
while (y--!=-1)
do {
a*=y ;
a++ ;
} while (y--) ;
printf(“%d,%d\n”,a,y);
}
Section 4: According to the specification, complete each program (total: 20 marks, 2 mark for each blank)
1.Count the minimum of three number x,y,z, complete the blank
in the program.
main ( )
{ int x=4,y=5,z=8 ;
int u,v;
u = x<y ? (1) ;
v = u<z ? (2) ;
printf (“%d”,v);
}
2.Output all the number between 1 and 100, which the product of
every digit is greater than the sum.
main ( )
{ int n,k=1,s=0,m ;
for (n=1 ; n<=100 ; n++) {
k=1 ; s=0 ;
_______(3)___________;
while (________(4)________) {
k*=m%10;
s+=m%10;
____________(5)_______________;
- 2 - (共3 页)
}
if (k>s) printf(“%d”,n);
}
}
Section 5: According to the specification, write each program (total: 10 marks)
The function void LtoU(char *s) converts all characters of the string to upper case. Input a string from main function, call the LtoU function, and output the converted string.
Example:the original string is:Ab1Cd,the string after modified is:AB1CD.
- 3 - (共3 页)。