C语言期末考试_试题及答案_最新201

合集下载

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语言期末考试题及详细答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中合法的变量名?A. 2variableB. intC. _first_variableD. for答案:C2. C语言中,用于定义一个整型数组的关键字是?A. charB. intC. floatD. double答案:B3. 在C语言中,哪个运算符用于比较两个值是否不相等?A. ==B. !=C. =D. <答案:B4. 下列哪个函数用于计算数组中元素的个数?A. strlenB. sizeofC. strcpyD. strcmp答案:B5. C语言中,用于定义一个结构体的关键字是?A. structB. unionC. enumD. typedef答案:A6. 下列哪个选项是C语言中合法的常量?A. 0x1AB. 1.23e-5C. 2.3.4D. 0b101答案:A7. 在C语言中,哪个关键字用于定义一个函数?A. intB. voidC. structD. return答案:B8. C语言中,用于定义一个指针的关键字是?A. intB. charC. floatD. *答案:D9. 下列哪个选项是C语言中合法的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello\nWorld"D. "Hello\tWorld"答案:A10. 在C语言中,哪个运算符用于执行算术运算?A. %B. &C. +D. ||答案:C二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型变量的正确语法是:______。

答案:int variable_name;2. 用于将一个字符串复制到另一个字符串的C语言函数是:______。

答案:strcpy3. C语言中,用于声明一个指向整型变量的指针的语法是:______。

最新c语言期末考试试题及答案

最新c语言期末考试试题及答案

最新c语言期末考试试题及答案1. 一个C程序的组成部分可以是()。

A)一个主函数和一至若干个其他函数B)一至若干个主函数C)一个主程序和一至若干个其他函数D)一个主程序和一至若干个子程序2. 一个C程序的执行是从()。

(A)本程序的main函数开始,到main函数结束(B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束(C)本程序的main函数开始,到本程序文件的最后一个函数结束(D)本程序文件的第一个函数开始,到本程序main函数结束3. C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符()。

A)必须为字母B)必须为下划线C)必须为字母或下划线D)可以是字母、数字和下划线中任一种字符4. 设有定义:int m=1,n=-1;则执行语句printf("%d\n",(m--&++n);后的输出结果是()。

A)–1 B)0 C) 1 D) 25. 表达式11&10的结果用二进制表示为()。

A)11B)3C)1D)106. 设有语句int a=3;则执行语句a+=a-=a*a后,变量a的值是()。

(A)3(B)0(C)9(D)-127. 在下列选项中,不的赋值语句是()。

A)t/=5;B)n1=(n2=(n3=0));C)k=i==j;D)a=b+c=1;8. 下列( )表达式不满足:当x的值为偶数时值为"真",为奇数时值"假"。

A)X%2==0B)!x%2!=0C)(x/2*2-x)==0D)!(x%2)9. 若有定义:int a=8,b= 5,c;执行语句c=a/b+0.4 后c的值为()A)1.4 B)1 C)2.0 D)210. 假设a=3,b=4,c=5,则逻辑表达式:!(a+b)+c-1&&b+c/2的值是()。

A)true B)false C)0D) 111. 若int a=3,b=4;则执行c=a++>2||b-->=4之后,b变量的值为()。

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

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

C语言程序设计期末考试试题(含答案)C语言程序设计期末考试试题(含答案)一、选择题(共20题,每题2分,共40分)在每个题目给出的选项中选出一个正确答案,并将其序号填入题前括号内。

1. 下列关于C语言标准库的说法,错误的是:A. C语言标准库提供了多个头文件,如<stdio.h>、<stdlib.h>等。

B. C语言标准库中包含了很多有用的函数和变量。

C. C语言标准库的函数和变量的声明保存在头文件中。

D. C语言标准库中的函数和变量可以直接使用,无需任何声明和定义。

2. 下面哪个选项是正确的整型常量表示法?A. 3.14B. 'A'C. 3.0E8D. 0xFC3. 下面代码中,输出结果是多少?```c#include <stdio.h>int main() {int x = 3, y = 4, z;z = (x++) + (++y);printf("%d\n", z);return 0;}```A. 7B. 8C. 9D. 104. 下面哪个选项是正确的声明一个指向整型数据的指针?A. int *ptr;B. int ptr;C. *int ptr;D. ptr *int;5. 下面哪个选项是正确的函数声明?A. int add(int a, int b);B. int add(int a, b);C. add(int a, int b);D. add(int a, b);(略去其他题目...)二、编程题(共2题,每题30分,共60分)请编写符合题目要求的程序。

1. 题目描述:编写一个程序,实现求解1至100之间的所有偶数的和,并打印输出结果。

以下是程序的运行示例:```1至100之间的所有偶数的和为2550。

```2. 题目描述:编写一个程序,实现将用户输入的英文句子的每个单词首字母变为大写,并打印输出结果。

以下是程序的运行示例:```请输入一个英文句子:hello world!转换后的句子为:Hello World!```三、简答题(共2题,每题10分,共20分)请简要回答以下问题。

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

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

试卷编号:1120所属语言:C语言试卷方案:C语言期末考试试卷总分:100分共有题型:4种一、单项选择共30题(共计60分)第1题(分)设有定义:int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是(A ).A:k++B:k+=1C:++kD:k+1第2题(分)已知int i=5,执行语句i+=++i后,i的值是(C).A:10B:llC:12D:A、B、C都不对第3题(分)以下程序的功能是:给r输入数据后,计算半径为r的圆面积s.程序在编译时出错. ttinclude <>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题(分)〃\\\〃 ABC\〃 \\〃的长度是(B ).A:llB:7C:5D:3第5题(分)已知int j, i=l执行语句j=-i++;后,j的值是(C ).A:1B:2串中的内容为“abcdefg”时,c 所指数组中的内容应该为 “lg2f3e4dcba” 。

*/ttinclude <>#include <>#include <>void fun ( char char *b, char *c )int i , j;char ch;i = 0;j 二 strlen(b)-l;/**********FOUND**********/ch = b [ i];b[j] = ch; i++; j —;/**********FOUND**********/while ( *a &&*b )//此处&&改为| | (逻辑或)if ()*c =*a;c++;/**********FOUND**********/a+;)if ( *b )*c 二*b; c++;b++;*c = 0;main()char sl[100],s2[100],t[200];clrscr ();printf (,z \nEnter si string : 〃);scanf (〃如〃,si);printf (,z \nEnter s2 string : 〃);scanf (〃%s 〃, s2);fun( si, s2, t );printf (/z \nThe result is : %s\n 〃,t );i j四、程序设计共1题(共计20分)第1题(分)/*【程序设计】功能:判断一个整数w 的各位数字平方之和能否被5整除, 可以被5整除则返回1,否则返回0。

大学C语言期末考试练习题(带详解答案)

大学C语言期末考试练习题(带详解答案)

大学C语言期末考试练习题(带详解答案)一、单项选择题1.(A)是构成C语言程序的基本单位。

A、函数B、过程C、子程序D、子例程2.C语言程序从C开始执行。

A)程序中第一条可执行语句B)程序中第一个函数C)程序中的main函数D)包含文件中的第一个函数3、以下说法中正确的是(C)。

A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main()函数中定义C、C语言程序总是从main()函数开始执行D、C语言程序中的main()函数必须放在程序的开始部分4.下列关于C语言的说法错误的是(B)A)C程序的工作过程是编辑、编译、连接、运行B)C语言不区分大小写。

C)C程序的三种基本结构是顺序、选择、循环D)C程序从main函数开始执行5.下列正确的标识符是(C)。

A.-a1B.a[i]C.a2_iD.intt5~8题为相同类型题考点:标识符的命名规则(1)只能由字母、数字、下划线构成(2)数字不能作为标识符的开头(3)关键字不能作为标识符选项A中的“-”,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3)6.下列C语言用户标识符中合法的是(B)。

A)3a某B)某C)caeD)-e2E)union选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1);7.下列四组选项中,正确的C语言标识符是(C)。

A)%某B)a+bC)a123D)123选项A中的“%”,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2)8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。

A、print_3ddb8aBcB、I\\amone_halftart$it3paiC、tr_1CpppowwhileD、P某qMy->bookline#Hi.age选项B中的“\\”,”$”,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while为关键字,不满足(3)9.C语言中的简单数据类型包括(D)。

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

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

大学C语言期末考试试题一选择题(7分,每小题0.5分)1。

C语言源程序的基本单位是()。

A 过程B函数C子程序D标识符2.下列程序的输出结果是()。

main( ){ inta=7,b=5;printf("%d\n",b=b/a);}A 5B 1 C0 D不确定值3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是()。

A7 B8 C9 D 24.设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,205。

设有如下程序段,下面描述中正确的是( )。

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*xmain( ){int a=4,b=6,c=7,d=ADD(a+b)*c;printf(”d=%d",d);}A d=70B d=80C d=140 Dd=70010。

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

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

c语言期末考试试题及答案一、选择题1. C语言中用于表示逻辑“与”操作的关键字是()。

A. &&B. ||C. &D. and答案:A2. 若有定义:int a = 5; int b = 10; 则表达式 a * b / 3 的值是()。

A. 15B. 17C. 20D. 25答案:D3. 下列哪个函数用于计算字符串的长度?A. strlen()B. strcmp()C. strcpy()D. strrev()答案:A4. C语言中,文件的打开模式“w”表示什么?A. 写入模式,文件不存在则创建,存在则覆盖B. 写入模式,文件不存在则创建,存在则追加内容C. 读取模式,文件不存在则创建,存在则覆盖D. 读取模式,文件不存在则报错,存在则读取内容答案:A5. 以下哪个选项是C语言中的合法整型常量?A. 0x1FB. 01FC. 1.0e2D. 0b11答案:A二、填空题1. 在C语言中,使用关键字________定义一个全局变量。

答案:extern2. 若有定义:int x = 10; 则执行语句 x += x; 后,变量x的值是________。

答案:203. 在C语言中,使用函数________可以将一个字符串复制到另一个字符串中。

答案:strcpy4. 一个C语言程序的执行是从________函数开始的。

答案:main三、判断题1. C语言中的数组下标是从0开始计数的。

()答案:正确2. 在C语言中,可以定义一个空指针,其值为0。

()答案:正确3. C语言允许在函数定义中再定义另一个函数。

()答案:错误四、简答题1. 请简述C语言中的指针和引用的主要区别。

答案:指针是一个变量,其存储的是另一个变量的地址;而引用是另一个变量的别名,它必须在定义时就被初始化,并且不能被重新指向其他变量。

指针可以直接被修改以指向不同的地址,而引用则始终指向初次定义时的变量。

2. 解释C语言中的预处理器指令#if、#else和#endif的作用。

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语言考试期末考试复习题及答案一、选择题(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. structB. unionC. enumD. typedef答案:A2. 下列关于链表的描述,错误的是:A. 链表是一种动态数据结构B. 链表的每个节点包含数据和指向下一个节点的指针C. 链表的内存分配必须是连续的D. 链表可以很容易地插入和删除节点答案:C3. 在C语言中,以下哪个函数用于创建一个动态数组?A. mallocB. callocC. reallocD. free答案:B4. 关于栈的描述,以下说法正确的是:A. 栈是一种后进先出(LIFO)的数据结构B. 栈只能进行插入和删除操作C. 栈的插入和删除操作只能从栈底进行D. 栈可以存储任意数量的数据答案:A5. 在C语言中,以下哪个函数用于释放动态分配的内存?A. mallocB. callocC. freeD. realloc答案:C6. 下列关于二叉树的描述,错误的是:A. 二叉树的每个节点最多有两个子节点B. 二叉树的遍历方式有前序、中序和后序C. 二叉搜索树的中序遍历结果是有序的D. 二叉树的深度是指树中节点的最大数量答案:D7. 在C语言中,以下哪个函数用于将一个字符串复制到另一个字符串?A. strcpyB. strncpyC. strcatD. strcmp答案:A8. 关于图的描述,以下说法正确的是:A. 图是一种非线性数据结构B. 图的每个顶点至少有一个边C. 图的遍历可以使用深度优先搜索(DFS)或广度优先搜索(BFS)D. 图的边是无向的答案:A9. 在C语言中,以下哪个关键字用于定义一个指针?A. intB. charC. floatD. *答案:D10. 下列关于哈希表的描述,错误的是:A. 哈希表是一种通过键值对进行存储的数据结构B. 哈希表的查找时间复杂度通常是O(1)C. 哈希表可以解决冲突问题D. 哈希表的键必须是唯一的答案:D二、填空题(每题2分,共20分)1. 在C语言中,定义一个结构体的关键字是________。

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

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

c语言期末考试题及答案及解析一、选择题(每题2分,共20分)1. 下列哪个是C语言的标准输入输出库函数?A. printf()B. scanf()C. getchar()D. All of the above答案:D解析:在C语言中,标准输入输出库函数包括printf()、scanf()和getchar()等,它们都用于输入输出操作。

2. 以下哪个不是C语言的关键字?A. intB. floatC. doubleD. string答案:D解析:int、float和double都是C语言的基本数据类型关键字,而string不是C语言的关键字,它是C++中的一个类。

3. 以下哪个语句可以正确地声明一个整型数组?A. int arr[10];B. int [10] arr;C. Both A and BD. None of the above答案:C解析:在C语言中,数组的声明可以是int arr[10];也可以是int [10] arr;,两者都是正确的声明方式。

4. 下列哪个是正确的C语言函数定义?A. int myFunction(int x, int y) { /* ... */ }B. void myFunction(int x, int y) { /* ... */ }C. Both A and BD. None of the above答案:C解析:在C语言中,函数定义可以返回int类型,也可以是void类型,表示没有返回值。

5. 以下哪个是正确的C语言循环结构?A. forB. whileC. do-whileD. All of the above答案:D解析:C语言支持多种循环结构,包括for循环、while循环和do-while循环。

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

#include<stdio.h>main(){int x;float y;scanf("%3d%f",&x,&y);}A、 12345 B 、123 C 、45 D 、 3458、若有以下定义int a,b; floatx,则正确的赋值语句是( )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,10 B 、 9,10 C 、 11,9 D 、 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,89 11、下列运算符中优先级最高的是 ( )A 、 <B 、十C、 %D 、!=12、设 x 、y 和 z 是 int 型变量,且 x =3, y = 4, z = 5,则下面表达式中值为 0 是 ( ) 。

c语言期末考试题及答案

c语言期末考试题及答案

c语言期末考试题及答案【篇一:c语言期末考试试题及详细答案】言中最简单的数据类型包括( b)。

a、整型,实型,逻辑型b、整型,实型,字符型 d、整型,实型,逻辑型,字符型c、整型,字符型,逻辑型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、abb、voidc、_studentd、7、在c语言中,字符型数据在内存中以( ba、补码b、ascii码c、反码d、原码8、一个程序由若干文件组成,共用同一变量,则此变量的存储类别应该为( b)。

a、autob、externc、staticd、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、\bb、\037c、\0xfd、\12、为了要计算s=10!(10的阶乘),则以下对s的定义正确的是( d )。

a、int sb、unsigned sc、short sd、long s13、判断变量ch中的字符是否为大写字母,最简单的正确表达式是( a)。

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. floatB. doubleC. intD. char答案:C2. 若有定义:int a = 5; float b =3.14; 则下列表达式中错误的是()。

A. a + bB. a * bC. a / bD. b % a答案:D3. C语言中,用于输入的函数是()。

A. printf()B. scanf()C. puts()D. gets()答案:B4. 下列关于数组的说法,正确的是()。

A. 数组大小是动态的,可以在运行时改变B. 数组一旦定义,其大小不可改变C. 数组可以存储不同类型的数据D. 数组的索引必须从0开始答案:B5. 在C语言中,一个合法的指针变量是()。

A. int *pB. *int pC. float *pD. p int答案:A二、填空题1. 在C语言中,使用关键字________定义一个全局变量。

答案:extern2. 若有定义:int x = 10; 则表达式 `x + (x++) * 2` 的值是________。

答案:303. 在C语言中,使用________可以将字符串常量输出到控制台。

答案:printf4. 一个整型变量可以存储的最大值(假设为int max)与最小值(假设为int min)的范围是________ < int max < int min。

答案:-32768, 32767(假设是16位整型)5. 函数________用于计算一个字符串的长度。

答案:strlen三、判断题1. C语言中的注释可以使用“//”或“/* */”两种形式。

()答案:正确2. 在C语言中,所有的函数都有返回值。

()答案:错误3. 指针变量的地址可以通过使用&运算符获得。

()答案:正确4. 在C语言中,long int和int类型的大小是相同的。

()答案:错误5. 使用switch语句时,case标签后的值必须是整型或字符型。

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

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

C语言期末考试试卷共7 页第 1 页一、单选题(每题2分,共30分)1.以下叙述正确的是 ______ 。

A)C程序的每行只能写一条语句 B)语言本身没有输入输出语句C)在C程序中,注释说明只能位于一条语句的后面D)在多函数的程序中,main函数必须放在其它子函数的定义之前2.以下不正确的常量表示形式是 ______ 。

A) 0。

45 B)0XF5 C)‘\85’D) 32。

67E—53. 以下不正确的变量名是 ______ 。

A)R&B B) _max C) INT D) SUM34. 以下正确的一组语句是 ________.A) int x=y=5; B) int n;scanf(”%d",&n);int a[n];C) char a,*p; p=&a; D) char s[10]; s=”hello”;5。

若以下变量均已正确定义和赋值,则正确的语句是 ________。

A) a=b==5; B) y=x%2。

0; C) x+y=10; D) n=8=2*4;6.下面各组中与给出的程序段功能不等价的是 ________。

i f(a>0) b=1;else if(a==0) b=0;else b=-1;A)if(a〉0) b=1; B)if(a〉0) b=1; C)if(a〉0) b=1; D)if(a〉=0) if(a==0) b=0; else if(a==0) b=0; if(a>0) b=1;if(a<0) b=—1; if(a<0) b=—1; else b=-1; if(a==0) b=0;else b=0; if(a〈0) b=—1;7。

运行下面程序段,若输入abc#〈CR>,则程序输出是:________.char c;int v1=0,v2=0;while((c=getchar())!=’#'){ switch(c){case ’a’:v1++;default :v1++;v2++;case ’c':v2++;}}printf(”v1=%d,v2=%d\n”,v1,v2);A)2,2 B)3,5 C) 3,4 D)2,58.对for (表达式1; ;表达式3){…}可以理解为:________。

C语言期末考试题(含答案)

C语言期末考试题(含答案)

《C 语言程序设计》期末试卷一、单项选择题(10x2’=20’)1、以下叙述正确的是( )A )C 语言的源程序不必通过编译就可以直接运行。

B )C 语言中的每条可执行语句最终都将被转换成二进制的机器指令。

C )C 语言源程序经编译形成的二进制代码可以直接运行。

D )C 语言中的函数不可以单独进行编译。

2、一个C 语言的源程序中( )A )必须有一个主函数B )可能有多个主函数C )必须有除主函数外其它函数D )可以没有主函数3、以下不能定义为用户标识符的是( )A )scanfB )VoidC )_3comD )int4、若以下选项中的变量已正确定义,则正确的赋值语句是( )A )x1=26.8%3;B )1+2=x2;C )x3=0x12;D )x4=1+2=3;5、设有定义:float a=2,b=4,h=3;以下C 语言表达式中与代数式h b a *)(21 的计算结果不.相符的是( ) A )(a+b)*h/2 B )(1/2)*(a+b)*h C )(a+b)*h*1/2 D )h/2*(a+b)6、C 语言中用于结构化程序设计的3种基本结构是( )A )顺序结构、选择结构、循环结构B )if 、switch 、breakC )for 、while 、do-whileD )if 、for 、continue7.在while (!x )语句中的!x 与下面条件表达式等价的是( )A) x!=0 B) x==1 C) x!=1 D) x==08、有以下程序:#include <stdio.h>void main(){int i=1,j=1,k=2;if( (j++||k++)&&i++ )printf(“%d,%d,%d\n ”,i,j,k);}执行后的输出结果是( )A )1,1,2B )2,2,1C )2,2,2D )2,2,39、有以下程序:#include <stdio.h>void main(){int i,s=0;for(i=1;i<10;i+=2)s+=i+1;printf(“%d\n ”,s);}程序执行后的输出结果是( )A )自然数1~9的累加和B )自然数1~10的累加和C)自然数1~9中奇数之和D)自然数1~10中偶数之和10、有以下函数定义:void fun(int n,double x){……}若以下选项中的变量都已经正确定义并赋值,则对函数fun的正确调用语句是()A)fun(int y,double m);B)k=fun(10,12.5);C)fun(x,n); D)void fun(n,x);二、填空题(10x2’=20’)11、C语言描述“x和y都大于或等于z”的表达式是:。

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

C语言期末考试试题及答案最新2012年一、单项选择题1. ()是合法的用户自定义标识符。

A、b-bB、floatC、<fr>D、_isw2. 若变量已正确定义并赋值,表达式()不符合C 语言语法。

A、a*b/c;B、3.14%2C、2, bD、a/b/c3. ()是不正确的字符常量。

A、'n'B、'1'C、"a"D、'101'4•在C程序中,用()表示逻辑值真”A、1B、非0的数C、非1的数D、大于0的数5. ()把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;6. 若变量已正确定义,表达式()的值不是2。

A、2&3B、1«1G a==2D 1八37•若变量已正确定义,语句“ if(a>b)k=0;elsek=1和()等价。

A、k=(a>b)?1:0;B、k=a>b;C、k=a<=b;D、a<=b ? 0 : 1;8•设变量定义为“int a, b;,执行下列语句时,输入(),则a和b的值都是10。

scanf("a=%d, b=%d",&a, &b);A、10 10B、10, 10C、a=10 b=10D、a=10, b=109. 下列程序的输出结果是()。

fun(int a, int b, int c){ c =a*b; }void main(){ int c;fun(2,3,c);printf(” %dn” ,c);}A、0B、1 C 6 D、无法确定10. 在C 程序中,若对函数类型未加说明,则函数的隐含类型为()A、intB、doubleC、voidD、char11. 表达式strlen(” he的0值是)()。

A、4B、5C、6D、712. 设变量定义为“ int a[4];,则表达式()不符合C语言语法。

A、*aB、a[0]C、aD、a++13. 设变量定义为“int x, *p=&x;,则&*p相当于()。

A、pB、*pC、xD、*&x14. 若变量已正确定义,()不能使指针p成为空指针。

A、p=EOFB、p=0C、p=''、D p=NULL15. 对于以下的变量定义,表达式()不符合C语言语法。

struct node { int len;char *pk;} x = {2, "right"}, *p = &x;A、p->pkB、*p.pkC、*p->pkD、16. 有如下程序int runc(int a,int b){ return(a+b);}main0{ int x=2,y=5,z=8,r; r=func(func(x,y),z); printf( “%n” ,r);}该程序的输出的结果是()A) 12 B) 13 C) 14 D) 15*x.pk17. 对于基类型相同的两个指针变量之间,不能进行的运算是() A) < B) = C) + D) -18. 有如下程序long fib(int n){ if(n>2) return(fib(n-1)+fib(n-2));else return(2);main0{ printf( “n ”%,dfib(3));该程序的输出结果是()A} 2 B} 4 C} 6 D} 819. 有如下定义struct person{char name[9]; int age;};strict person class[10]={ “Johu”, 17,“Paul ”, 19 “Mary”, 18,“ Adam 16,}; 根据上述定义,能输出字母M 的语句是()A)prinft( “n%”c,class[3].mane);B)pfintf( n” ,cla“ss%[3c].name[1]);C)prinft( n%cclass[2].name[1]);D)printf( n”,claS%2]cname[0]);20. 以下所列的C 语言常量中,错误的是()A) 0xFF B) 1.2e0.5 C) 2L D)72' ‘21. 有以下程序段int k=0 while(k=1)k++;while 循环执行的次数是()A)无限次B)有语法错,不能执行C一次也不执行D)执行1次22. 以下程序的输出结果是()fun(int x, int y, int z){ z=x*x+y*y; }main(){ int a=31;fun(5,2,a);printf( “ %d” ,a);}A) 0 B) 29 C) 31 D无定值23. 下列程序段的输出结果是()void fun(int *x, int *y){ printf( “ %d %d” , *x, *y); *x=3; *y=4;}main(){ int x=1,y=2;fun(&y,&x);printf( “%d %d” ,x, y);}A) 2 1 4 3 B) 1 2 1 2 C) 1 2 3 4 D) 2 1 1 224. 当调用函数时,实参是一个数组名,则向函数传送的是()A)数组的长度B)数组的首地址C数组每一个元素的地址D)数组每个元素中的值25. 以下程序的输出结果是()long fun( int n){ long s;if(n= =1 || n= =2) s=2;else s=n-fun(n-1);return s;}main(){ printf( “n%”ld, fun(3)); }A) 1 B) 2 C) 3 D) 426. 以下程序的输出结果是()#define SQR(X) X*Xmain(){ int a=16, k=2, m=1; a/=SQR(k+m)/SQR(k+m);printf( “n”d,a);}A) 16 B) 2 C) 9 D) 127. 以下函数返回a 所指数组中最小的值所在的下标值,在下划线处应填入的是()fun(int *a, int n){ int i,j=0,p;p=j;for(i=j;i<N;I++)if(a[i]<A[P]) _________ ;return(p);}A) i=p B) a[p]=a[i] C) p=j D) p=i 二、填空题1. 表示“ x > y的C表达式是_____ 。

2. 下列程序段的输出是 ____ 。

prin tf("%o n", 010<<1八1);3. 下列程序段的输出是 ____ 。

int k;float s;for (k=0, s=0; k < 7; k ++)s += k/2;printf("%d, %fn", k, s);4 .下列程序段的输出是_______ 。

#define f(a, b, x) a*x+bprintf("%d, %dn", f(3,2,1), f(6, 5, f(3, 2, 1)));5. _____________________ 下列程序段的输出是。

main(){ int k;for(k=1; k<5; k++) {if(k % 2) printf("*"); else continue; printf("#");}}6. _____________________ 下列程序段的输出是。

# include <stdio.h> int f(int x){ static y=1; y++;x += y; return x;}void main(){ int k;k=f(3);printf("%d %dn", k, f(k));}7. _____________________ 下列程序段的输出是。

int *p, *q, k = 5 , j = 6 ;q = &k ; p = q ;q = &j ;printf("%d", *p);8. 函数void f(char s[ ], char t[ ]){int k=0;while (s[k]=t[k])k++;}等价于void f(char *s, char *t){while ( ____ );}9. ______________________ 下列程序段的输出是_ 。

char *a[2]={"one", "two"}, **p=a;printf("%s,", *(p++)+1);printf("%cn", **p-1);10. 下列程序编译后生成t.exe,运行zoo oil 的输出结果是____ 。

void main(int argc, char * argv[ ])tinputoutput { int k;char *p=argv[1];for(k=2; k<argc; k++)if(strcmp(argv[k], p)>0) p=argv[k];printf("%sn", p);}11. 下列程序调用swap函数交换a和b的值,并输出交换后的a和b的值。

程序的输出结void main( ){int a=3, b=5;swap(&a, &b );printf("After swap %d, %d", a, b);}swap( int *p, int *q ){int t;t=*p; ;*p=*q ;*q=t ;}1D 2B 3C 4B 5C 6C 7C 8D 9D 10A 11B 12D 13A14A 15D 16D 17C 18B 19D 20B 21A 22C 23A 24B 25A 26B 27D①x>=y&&y>=z ② 1③ 6,90 ④ 5,25 ⑤ *#*# ⑥ 5 8 ⑦ 5⑧ *s+。

相关文档
最新文档