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

《C语言》考卷一单选题(每题2分,共25题,共50分)1.要把高级语言编写的源程序转换为目标程序,需要使用( )[2分][2分]A.编辑程序B.驱动程序C.诊断程序D.编译程序参考答案:D2.以下叙述中正确的是( )[2分][2分]A.C语言程序将从源程序中第一个函数开始执行B.可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C.C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束D.main可作为用户标识符,用以命名任意一个函数作为主函数参考答案:C3.若变量a是int类型,并执行了语句:a=‘A'+1.6;,则正确的叙述是( )[2分][2分] int a int a=66 = 65 + 1.6 =66.6A.a的值是字符BB.a的值是浮点型C.不允许字符型和浮点型相加D.a的值是字符‘A’的ASCII值加上2参考答案:Aint a = ‘A’;char b = 65;4.若变量已正确定义并赋值,以下符合C语言语法的表达式是( )[2分][2分]A.a:=b+1B.a=b=c+2C.18.5%3D.a=a+7=c+b参考答案:B5.下列可用于C语言用户标识符的一组是( )[2分][2分]A.void, define, WORDB.a3_b3, _123,carC.For, -abc, IF CaseD.2a, DO, sizeof参考答案:B6.若在定义语句:int a,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是( )[2分][2分]A.scanf("%d",a,b,c);B.scanf("%d%d%d",a,b,c);C.scanf("%d",p); //scanf(“%d”,&c);D.scanf("%d",&p);参考答案:C7.以下关于long、int和short类型数据占用内存大小的叙述中正确的是( )[2分][2分]A.均占4个字节B.根据数据的大小来决定所占内存的字节数 // long a = 1 int b = 1000000C.由用户自己定义D.由C语言编译系统决定参考答案:D8.若变量已正确定义,有以下程序段i=0;do{printf("%d,",i); //0}while(i++); //while(0) i=1printf("%d\n",i); //1其输出结果是( )[2分][2分]A.0,0B.0,1C.1,1D.程序进入无限循环参考答案:B9.有以下计算公式则不能够正确计算上述公式的程序段是( )(提示:库函数sqrt()用来求一个数的平方根)[2分][2分]A.if(x>=0) y=sqrt(x); else y=sqrt(-x); //if/else配合使用B.y=sqrt(x) if(x<0) y=sqrt(-x);C.if(x>=0)y=sqrt(x); if(x<0)y=sqrt(-x); //if单独使用D.y=sqrt(x>=0?x:-x);参考答案:B10.设有条件表达式:EXP ? i++ : j--;则以下表达式与之完全等价的是( )[2分][2分]A.(EXP==0)? i++ : j--;B.(EXP!=0)? i++ : j--;C.(EXP==1)? i++ : j--;D.(EXP!=1)? i++ : j--;参考答案:B11.有以下程序#include<stdio.h>int main(void){int y=9;for( ; y>0; y--){if(y%3 == 0)printf("%d",--y);}}程序的运行结果是( )[2分][2分]A.741B.963C.852D.875421参考答案:C12.若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是( )[2分][2分]A.函数的实参和其对应的形参共占同一存储单元B.形参只是形式上的存在,不占用具体存储单元 //局部变量C.同名的实参和形参占同一存储单元D.函数的形参和实参分别占用不同的存储单元参考答案:D13.已知字符‘A’的ASCⅡ代码值是65,字符变量c1的值是‘A’,c2的值是‘D’。
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语言程序设计期末考试试题及答案一、选择题(每题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语言试题及答案_百度文库1. 选择题- 题目1:以下哪个是C语言中的关键字?- A. int- B. INT- C. Integer- D. int32- 答案:A- 题目2:C语言中,哪个运算符用于比较两个值是否相等?- A. ==- B. =- C. !=- D. <=- 答案:A2. 填空题- 题目3:在C语言中,用于定义一个整型变量的关键字是____。
- 答案:int- 题目4:C语言中,用于执行条件判断的关键字是____。
- 答案:if3. 简答题- 题目5:请简述C语言中函数的定义格式。
- 答案:函数定义的格式通常为:`返回类型函数名(参数列表) { 函数体; }`。
- 题目6:编写一个C语言程序,计算并输出1到100的和。
- 答案:```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {sum += i;}printf("Sum of 1 to 100 is: %d\n", sum);return 0;}```5. 判断题- 题目7:C语言中,数组的索引是从0开始的。
- 答案:正确- 题目8:在C语言中,`char`类型可以存储一个汉字。
- 答案:错误6. 多选题- 题目9:以下哪些是C语言的标准库函数?- A. printf- B. scanf- C. malloc- D. strcpy- 答案:A, B, C, D- 题目10:给定一个整数数组`int arr[] = {1, 2, 3, 4, 5};`,请计算数组中所有元素的和。
- 答案:158. 论述题- 题目11:请论述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语言期末考试试题及答案

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语言期末试题及答案一、选择题(每题2分,共20分)1. C语言中,用于定义变量的关键字是()。
A. varB. defineC. intD. type答案:C2. 下列哪个选项是C语言中的合法标识符?()A. 2variableB. variable2C. variable!D. variable$答案:B3. 在C语言中,哪个运算符用于比较两个值是否不相等?()A. ==B. !=C. =D. <=答案:B4. 下列哪个选项是正确的C语言数组声明?()A. int array[10];B. int array[];C. int [10] array;D. int array=10;答案:A5. C语言中,用于循环结构的关键字是()。
A. loopB. repeatC. whileD. do答案:C6. 下列哪个选项是正确的C语言函数声明?()A. int function(int a, int b);B. int function(int, int);C. int function(a, b);D. int function(int a, b);答案:A7. 在C语言中,用于定义一个指针的关键字是()。
A. pointB. ptrC. pointerD. *答案:D8. 下列哪个选项是正确的C语言字符串声明?()A. char str[];B. char str[10] = "Hello";C. char str = "Hello";D. char str[10] = {'H', 'e', 'l', 'l', 'o'};答案:B9. 在C语言中,用于定义一个结构体的关键字是()。
A. structB. typeC. classD. record答案:A10. 下列哪个选项是正确的C语言文件操作函数?()A. fopenB. openfileC. createfileD. fileopen答案:A二、填空题(每题2分,共20分)1. C语言中,用于定义一个整型变量的关键字是______。
c语言设计期末考试试题及答案

c语言设计期末考试试题及答案C语言设计期末考试试题一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的关键字?A. defineB. caseC. switchD. include答案:B2. 在C语言中,哪个函数用于将整数转换为字符串?A. intToStringB. itoaC. toStringD. convertInt答案:B3. 以下哪个是C语言中的合法变量名?A. 2variableB. variable2C. variable-nameD. variable#name答案:B4. 在C语言中,哪个运算符用于计算两个整数的乘积?A. *B. /C. +D. -答案:A5. 下列哪个语句可以用于C语言中定义一个空指针?A. int *ptr = NULL;B. int *ptr = 0;C. int *ptr = "";D. int *ptr = '0';答案:A6. 在C语言中,哪个函数用于计算两个数的绝对值?A. abs()B. absolute()C. max()D. min()答案:A7. 下列哪个是C语言中正确的数组声明语句?A. int array[10];B. int [10] array;C. array int[10];D. int array=10;答案:A8. 在C语言中,哪个语句用于结束一个循环?A. continue;B. break;C. exit;D. return;答案:B9. 下列哪个是C语言中正确的函数原型声明?A. void myFunction();B. int myFunction();C. myFunction();D. myFunction();答案:A10. 在C语言中,哪个关键字用于定义一个结构体?A. structB. classC. unionD. enum答案:A二、填空题(每空2分,共20分)1. 在C语言中,使用________关键字可以定义一个函数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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;else k=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=''、pD=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“%,class[2].name[1]);D)printf( \n ”,claS%]cname[O]);20. 以下所列的C 语言常量中,错误的是()A) 0xFF B) 1.2e0.5 C) 2L D)72' ‘21. 有以下程序段int k=0while(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数组每一个元素的地址的值25. 以下程序的输出结果是()long fun( int n){ long s; ()D)数组每个元素中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. 下列程序段的输出是 ____ 。
printf( “ %on “, 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“, **“p=twa;o “},printf( “ %s,“ , *(p++)+1);printf( “ %cn“-1,)*;*p10. 下列程序编译后生成t.exe,运行zoo oil 的输出结果是____ 。
void main(int argc, char * argv[ ])t input output { 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 18B19D 20B 21A22C 23A 24B 25A 26B 27D①x>=y &&y>=z ② 1③ 6,90 ④ 5,25 ⑤ *#*# ⑥ 5 8 ⑦ 5⑧ *s+。