C语言程序设计期末考试试卷及答案
C语言程序设计期末考试试题 含答案
![C语言程序设计期末考试试题 含答案](https://img.taocdn.com/s3/m/95d0f9100166f5335a8102d276a20029bd646316.png)
C语言程序设计期末考试试题含答案第一部分:选择题(每题5分,共40分)1. 下列选项中,不是C语言基本数据类型的是:A. intB. floatC. doubleD. string答案:D2. 在C语言中,for循环和while循环的区别是:A. for循环适用于已知循环次数,while循环适用于未知循环次数B. for循环必须有循环条件,while循环可以没有循环条件C. for循环只能用于数字计算,while循环可以用于任意类型的循环D. for循环和while循环没有区别答案:A3. 下列哪个选项是合法的变量名:A. 123varB. _varD. %var答案:B4. 在C语言中,使用printf函数输出一个整数变量的值,应该使用下列哪个占位符:A. %fB. %cC. %dD. %s答案:C5. 下列代码中,输出的结果是什么:```cint a = 5;printf("%d\n", a++);printf("%d", a);```A. 6 5B. 6 6C. 5 6答案:A6. 下列哪个选项中的函数可以用来比较两个字符串是否相等:A. strcmpB. strcatC. strlenD. strcpy答案:A7. 当我们在编写C语言程序时,通常会将一些常用的函数或者代码片段写成一个个独立的文件,这些文件通常以什么扩展名来保存:A. .cB. .hC. .txtD. .exe答案:B8. 下列代码中,缺少的语句是什么:```cint a = 10;int b = 20;int c = a + b;```A. return c;B. printf("%d", c);C. break;D. continue答案:B第二部分:编程题(每题30分,共60分)题目1:编写一个C程序,实现求取一个整数数组中元素的平均值。
要求通过函数实现,函数原型为:float average(int arr[], int length),其中arr为整数数组的首地址,length为数组的长度。
C语言程序设计期末试题B及答案
![C语言程序设计期末试题B及答案](https://img.taocdn.com/s3/m/f906d0d2b9d528ea81c779a6.png)
C语言程序设计教程期末考试试卷(B卷)(考试时间90分钟,满分100分)一、选择题(每小题1分,共20分)下面各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂抹在答题卡相应的位置上,答在试卷上不得分。
1. 在C语言中,下列标识符中合法的是( )A. -intB. in1_3C. A_B!DD. const2. 不属于C语言基本数据类型的是( )A. intB. unionC. charD. unsigned3. 下面是对宏定义的描述。
不正确的是( )A. 宏不存在类型问题,宏名无类型,它的参数也无类型B. 宏替换不占用运行时间C. 宏替换只是字符串的简单替代D. 宏替换时先检查类型,类型一致时才可以替换4. C语言中,″\\xfds″在内存中占用的字节数是( )A. 3B. 4C. 5D. 65. 设int x;则执行printf(″%x\n″,~x^x);的结果是( )A. ffffffffB. ffC. 0D. 16. 对于while语句,错误的说法是( )A. 用条件控制循环体的执行次数B. 循环体至少要执行一次C. 循环体有可能一次也不执行D. 循环体中可以包含若干条语句7. 执行下列语句后输出的结果是( )int a=8,b=7,c=6;if(a<b)if(b>c){a=c;c=b;}printf("%d,%d,%d\n",a,b,c);A. 6,7,7B. 6,7,8C. 8,7,6D. 8,7,88. 设int a=9,b=20;则printf(″%d,%d\n″,a--,--b);的输出结果是( )A. 9,19B. 9,20C. 10,19D. 10,209. 设static char x[ ]=″12345″,y[ ]={′1′,′2′,′3′,′4′,′5′,′\0′};那么( )A. x数组的长度等于y数组的长度B. x数组的长度大于y数组的长度C. x数组的长度少于y数组的长度D. x数组与y数组的存储区域相同10. 设int i,x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是( )for(i=0;i<3;i++)printf(″%d″,x[i][2-i]);A. 147B. 159C. 357D. 36911. 执行完下列语句后,n的值是( )int n;for (n=0 ; n<100 ; n=2*n+1);A. 125B. 126C. 127D. 12812. 有以下语句:int a=6;a+=a-=a*a;printf(“%d”,a);输出结果( )A. –132B. –60C. -24D. 013. 为了连接两个字符串s1与s2,应当使用( )A. strcat( s1,s2 )B. strcpy( s1, s2 )C. strlen( s1, s2 )D. strcmp( s1, s2 )14. 设int a,*p;则语句p=&a;中的运算符“&”的含义是( )A. 位与运算B. 逻辑与运算C. 取指针内容D. 取变量地址15. 下面输出的结果为( )int a=13, b=64;printf(“%d\n”, !a || (b>>3) );A. 13B. 64C. 1D. 016. 下列定义正确的是( )A. enum t={a,b}x;B. enum t{1,2}x;C. enum {′+′,′-′}x;D. enum t{a,b}x;17. 设有定义:struct u{int a[4];float b[3]; char c[16];}aa;则printf(″%d\n″,sizeof(aa));的输出是( )A. 32B. 36C. 12D. 818. 数据-54.78在文本文件中占用的字节个数是( )A. 4B. 5C. 6D. 819. 在宏定义#define p(r) 3.14*r中,请问宏名是( )A. pB. p(r)C. 3.14*rD. p(r) 3.14*r20. 要打开一个已存在的用于修改的非空二进制文件“hello.txt”,正确语句是( )A. fp=fopen( "hello.txt ","r" )B. fp=fopen( "hello.txt ","ab+" )C. fp=fopen( "hello.txt ","w" )D. fp=fopen( "hello.txt ","r+" )二、填空题(每小题4分,共36分)请将每一个空的正确答案写在答题卡相对应的横线上,答在试卷上不得分。
C语言程序设计期末考试试题及答案
![C语言程序设计期末考试试题及答案](https://img.taocdn.com/s3/m/33dc248e988fcc22bcd126fff705cc1754275f33.png)
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语言中,数组的元素默认初始化为______。
完整word版,C语言程序设计期末考试试题(含答案)
![完整word版,C语言程序设计期末考试试题(含答案)](https://img.taocdn.com/s3/m/ca299a49581b6bd97e19ea01.png)
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语言程序期末考试试题及答案](https://img.taocdn.com/s3/m/b8d4e44a4a73f242336c1eb91a37f111f0850d5d.png)
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语言程序设计》期末考试试卷及参考答案](https://img.taocdn.com/s3/m/ef86c7246d85ec3a87c24028915f804d2b1687b0.png)
大学《C语言程序设计》期末考试试卷及参考答案《C语言程序设计》期末考试试卷参考答案一、判断题(10分)1、对2、对3、错4、错5、对6、错7、错8、错9、错10、错二、填空题(30分,,1到10题1分1空,10到18题2分1空)1.2.5 2. a!=0&&b!=0 3. m=1b 4. windows 95 5. x[i]>='A'&&x[i]<='Z' 6.234567 7.文件的首纪录前8、struct tree *Ltree,*Rtree 9. i<=10010. char a[10]="continue"; 11. p*pow(1+r,5) 12. 'D' 13. 10、514.#define utol(ch) ch=ch>='A'&& ch<='Z' ? ch+'a'-'A':ch15.首行第i+1个元素的地址,第i+1行的首地址,a[0][0]的值16.p=(int*)mallo(n);17. (-b+sqrt(b*b-4*a*c))/2/a 18. float(*fg)(float **,int,int);三、单项选择题(在每小题的四个备选答案中选出一个正确的,10分))1、A2、B3、C4、B5、D6、A7、A8、B9、C 10、A四、程序阅读题(20分,每题4分)1、 A C E G2、 x=3 y=23、the two string are same:fthe two string are same:r4、 K=85、1《C语言程序设计》期末考试试卷及参考答案一、判断题(10分)1、C语言是一种结构化程序设计语言。
()2、在标准C中,整型变量与字符变量是可以通用的。
()3、在标准C中,“=”是判断两个数是否相等。
C语言程序设计期末考试复习题及答案
![C语言程序设计期末考试复习题及答案](https://img.taocdn.com/s3/m/f50bb461e518964bce847c13.png)
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语言程序设计期末考试卷及问题详解](https://img.taocdn.com/s3/m/6a700319e518964bcf847ce3.png)
文案大全C 语言程序设计期末考试卷及答案一、单项选择题。
从A 、B 、C 、D 四个选项中,选择一个最佳答案填入括号内( 每小题1分,共计30分)。
1.一个C 语言程序的执行是从( )。
A )本程序文件的第一个函数开始,到本程序文件的最后一个函数结束B )本程序的main 函数开始,到main 函数结束C )本程序的main 函数开始,到本程序文件的最后一个函数结束D )本程序文件的第一个函数开始,到本程序的main 函数结束2.下列选项中不属于...C 语言关键字的是( )。
A )switch B )printf C )default D )case3.设有语句 int a = 4; ,则执行了语句 a += a -= a * a; 后,变量a 的值是( )。
A )24B ) -24C )4D )164.已知int i;float d;,则正确的表达式是( )。
A )(int d)B )int(d)%iC )(int)d%iD )int(d%i)5.已知int i,a;,执行语句i=(a=3*9,a/5),a+11; 后,变量i 的值是( )。
A )5B )16C )27D )386.下列选项中合法的字符型常量是( )。
A )"a"B )'\n'C )"\n"D )a7.下面程序的运行结果是( )。
#include <stdio.h> void main( ){ int k = 15;printf("k = %d,k = %o,k = %x\n",k,k,k); }A )k = 15,k = 15,k = 15B )k = 15,k = 17,k = 17C )k = 15,k = 017,k = 0xfD )k = 15,k = 17,k = f8.已知a,b,c 为int 类型,执行语句:scanf ("%d%d%d",&a,&b,&c );使得a 为10,b 为20,c 为30,以下不正确...的输入形式是( )。
c程序设计期末考试试题及答案
![c程序设计期末考试试题及答案](https://img.taocdn.com/s3/m/1e83086203020740be1e650e52ea551811a6c955.png)
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语言程序设计期末考试试题含答案](https://img.taocdn.com/s3/m/ce17616a11661ed9ad51f01dc281e53a580251c4.png)
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语言程序设计试卷及参考答案](https://img.taocdn.com/s3/m/482c2d54b0717fd5370cdcc2.png)
《C语言程序设计》期末考试模拟试卷及参考答案(B)2012.6.5整理一、选择题(每题2分,共30分)1、# include 〈stdio.h〉的结果是______void main ( ){ int a[3][3]={1,2,3,4,5,6,7,8,9};int s=0,i;for (i=0;i〈3;i++)s+=(*(a+i))[i];printf("%d",s);}A.9 B。
12 C.14 D。
15参考答案—D2、设有说明语句:char a= ’\123abc';则变量a __________A. 包含7个字符B.包含6个字符 C。
包含5个字符 D。
包含4个字符参考答案-D 3、有以下程序段int k=0while(k=1)k++;while 循环执行的次数是_____A。
无限次B。
有语法错,不能执行 C。
一次也不执行D。
执行1次参考答案—A4、在C语言中,_____。
A。
函数定义可以嵌套,但函数调用不能嵌套 B。
函数定义不可以嵌套,但函数调用可以嵌套C.函数定义和调用均不能嵌套 D.函数定义和调用均可以嵌套参考答案—B 5、以下叙述正确的是________A)do—while语句构成的循环不能用其它语句构成的循环代替.B)do-while语句构成的循环只能用break语句退出。
C)用do—while语句构成的循环,在while后的表达式为非零时结束循环.D)用do—while语句构成的循环,在while后的表达式为零时结束循环。
参考答案—D 6、以下关于函数叙述中,正确的是。
A。
在函数体中可以直接引用另一个函数中声明为static类别的局部变量的值B.在函数体中至少必须有一个return 语句C.在函数体中可以定义另一个函数D。
在函数体中可以调用函数自身参考答案—D 7、以下数组声明语句中正确的是。
A。
int a,a[n]; B。
int a[]; C. int a[2][3]={{1},{2},{3}}; D.int a[][3]={{1},{2},{3}};参考答案—C8、以下不能正确进行字符串赋初值的语句是________A。
大学C语言程序设计考试试题及答案3套
![大学C语言程序设计考试试题及答案3套](https://img.taocdn.com/s3/m/ae8e2d00a8114431b90dd898.png)
main()
{int a=[3][3]={1,3,5,7,9,11,13,15,17},sum=0,i,j;
for (i=0;i<3;i++)
for(j=0;j<3;j++)
if (i==j) sum=sum+a[j]; printf(“sum=%d\n”,sum);
} 四、编程题(本大题共 4 题,每题 8 分,共 32 分) 1、编写摄氏温度、华氏温度转换程序。要求:从键盘输入一个摄氏温度,屏幕就显示 对应的华氏温度,输出取两位小数。转换公式:F=(C+32)×9/5 。 2、试编程判断输入的正整数是否既是 5 又是 7 的正倍数。若是,则输出 yes;否则输 出 no。 3、判断数 m 是否为素数(只能被 1 和它本身整除的整数)? 4、对 15 个数进行排序,按从小到大的顺序输出。 《C 语言程序设计》期末考试试卷(A 卷)评分标准及标准答案 一、单项选择题(本大题共 20 题,每题 2 分,共 40 分) 1、 B 2、 D 3、 B 4、 B 5、 C 6、 D 7、 B 8、 B 9、 A 10、D 11、C 12、D 13、D 14、C 15、D 16、C 17、C 18、D 19、C 20、B 二、填空题(本大题共 10 空,每空 2 分,共 20 分) 1、 顺序结构 分支结构 循环结构 2、 单精度型(或:float 型) 双精度型(或;double 型] 3、 1 4、
C 语言期末考试试卷
一 单项选择题(每题 2 分,共 40 分)
1 以下叙述正确的是 。 A C 程序基本组成单位是语句 C C 程序每一行只能写一个语句
B 简单 C 语句必须以分号作为结束符 D 注释语句可以嵌套
C语言程序设计(期末考试)
![C语言程序设计(期末考试)](https://img.taocdn.com/s3/m/94e516bf970590c69ec3d5bbfd0a79563c1ed49a.png)
C语言程序设计(期末考试)选择题,每空一分(共80题)1.C语言程序是由()构成的。
A)一些可执行语言B)main函数C)函数(正确答案)D)包含文件中的第一个函数2.()是构成C语言程序的基本单位。
A、函数(正确答案)B、过程C、子程序D、子例程3.C语言程序从()开始执行。
A)程序中第一条可执行语句B)程序中第一个函数C)程序中的main函数(正确答案)D)包含文件中的第一个函数4.C语言程序从main()函数开始执行,所以这个函数要写在()。
A)程序文件的开始B)程序文件的最后C)它所调用的函数的前面D)程序文件的任何位置(正确答案)5、以下说法中正确的是()。
A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main()函数中定义C、C语言程序总是从main()函数开始执行(正确答案)D、C语言程序中的main()函数必须放在程序的开始部分6.下列方法中错误的是()。
A.主函数可以分为两个部分:主函数说明部分和主函数体。
B.主函数可以调用任何非主函数的其它函数。
C.任何非主函数可以调用其它任何非主函数。
D.程序可以从任何非主函数开始执行。
(正确答案)7.下列说法错误的是()A.C程序运行步骤是编辑、编译、连接、执行。
B.C语言的变量名必须用小写,常量用大写。
(正确答案)C.C语言的三种基本结构是顺序、选择、循环。
D.C程序一定由函数构成的。
8.下列关于C语言的说法错误的是()。
A.C程序的工作过程是编辑、编译、连接、运行B.C语言不区分大小写。
(正确答案)C.C程序的三种基本结构是顺序、选择、循环D.C程序从main函数开始执行9.VC默认的C语言源程序扩展名为.CPP,需经过()之后,生成.exe文件,才能运行。A)编辑、编译B)编辑、连接C)编译、连接(正确答案)D)编辑、改错10.下列说法中正确的是()。
A.由于C源程序是高级语言程序,因此一定要在VC软件中输入。
C程序设计期末考试习题(含答案)
![C程序设计期末考试习题(含答案)](https://img.taocdn.com/s3/m/8887dbe852d380eb63946de2.png)
c语言程序设计期末试题A(含答案)一、单项选择题(选择一个最佳答案,每题2分,共20分)1。
一个C程序的执行是从( )。
A) 本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D) 本程序文件的第一个函数开始,到本程序main函数结束2。
下列选项中,不能用作标识符的是( ).A) _1234_ B) _1_2 C)int_2_ D) 2_int_3.以下定义语句中正确的是( )。
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’;则下面语句中错误的是()。
A) a++; B)b++ C)c++;D)d++;5.以下4个选项中,不能作为一条C语句的是( )。
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;若各变量已正确赋值,则下列选项中正确的表达式是( )。
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;则以下选项中,正确的赋值语句是( )。
A)p=1;B)*q=2; C)q=p;D)*p=5;8.设有定义:int a,*pa=&a; 以下scanf语句中能正确为变量a读入数据的是()。
A)scanf(“%d",pa);B)scanf(“%d”,a) ;C) scanf(“%d",&pa) ; D) scanf(“%d”,*pa);9。
(完整版)C语言程序设计试卷及参考答案
![(完整版)C语言程序设计试卷及参考答案](https://img.taocdn.com/s3/m/baa69aa7cfc789eb162dc836.png)
《C语言程序设计》期末考试模拟试卷及参考答案(B)2012.6.5整理一、选择题(每题2分,共30分)1、# include <stdio.h>的结果是______void main ( ){ int a[3][3]={1,2,3,4,5,6,7,8,9};int s=0,i;for (i=0;i<3;i++)s+=(*(a+i))[i];printf("%d",s);}A.9B.12C.14D.15参考答案—D2、设有说明语句:char a= '\123abc';则变量a __________A. 包含7个字符B.包含6个字符C. 包含5个字符D. 包含4个字符参考答案—D3、有以下程序段int k=0while(k=1)k++;while 循环执行的次数是_____A. 无限次B.有语法错,不能执行C. 一次也不执行D. 执行1次参考答案—A4、在C语言中,_____。
A.函数定义可以嵌套,但函数调用不能嵌套B.函数定义不可以嵌套,但函数调用可以嵌套C.函数定义和调用均不能嵌套D.函数定义和调用均可以嵌套参考答案—B 5、以下叙述正确的是________A)do-while语句构成的循环不能用其它语句构成的循环代替。
B)do-while语句构成的循环只能用break语句退出。
C)用do-while语句构成的循环,在while后的表达式为非零时结束循环。
D)用do-while语句构成的循环,在while后的表达式为零时结束循环。
参考答案—D6、以下关于函数叙述中,正确的是。
A.在函数体中可以直接引用另一个函数中声明为static类别的局部变量的值B.在函数体中至少必须有一个return 语句C.在函数体中可以定义另一个函数D.在函数体中可以调用函数自身参考答案—D7、以下数组声明语句中正确的是。
A.int a,a[n];B.int a[ ];C. int a[2][3]={{1},{2},{3}};D.int a[ ][3]={{1},{2},{3}};参考答案—C8、以下不能正确进行字符串赋初值的语句是________A.char str[5]= "good!";B.char str[ ]= "good!";C.char *str="good!";D.char str[5]={ 'g','o','o','d'};参考答案—A9、以下关于switch语句和break语句的描述中,只有______是正确的。
C语言程序设计期末考试试题含答案
![C语言程序设计期末考试试题含答案](https://img.taocdn.com/s3/m/6410bdd3cd22bcd126fff705cc17552706225e07.png)
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语言程序设计期末考试复习题及答案](https://img.taocdn.com/s3/m/b91f9927cfc789eb172dc829.png)
C语言考试期末考试复习题及答案一、选择题(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!=0 D) 运行时出错(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) 该结构体中所有成员变量所需存储空间的总和3. 以下定义语句中正确的是( C )A)char a='A'b='B'; float a=b=10.0;C)int a=10,*b=&a; D)float *a,b=&a;4.下列选项中,不能用作标识符的是( D )A)_1234_ B)_1_2 C) int_2_ D)2_int_5.在函数调用过程中,如果函数funA调用了函数 funB,函数funB又调用了函数funA,则( B )A)称为函数的直接递归调用 B)称为函数的间接递归调用C)称为函数的循环调用 D)C语言中不允许这样的递归调用6.以下叙述中正确的是 ( A )A)局部变量说明为static存储类,其生存期将得到延长B)全局变量说明为static存储类,其作用域将被扩大C)任何存储类的变量在未赋初值时,其值都是不确定的D)形参可以使用的存储类说明符与局部变量完全相同7.若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是( B)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);8.有以下程序(a)main(){ char a='a',b;printf("%c,",++a);printf("%c\n",b=a++);}程序运行后的输出结果是a)b,b B)b,c C)a,b D)a,c9.有以下函数定义:(c)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)10.已定义c为字符型变量,则下列语句中正确的是(c)A)c='97'; B)c="97"; C)c=97; D)c="a";11.以下能正确定义一维数组的选项是(b)A)int num[]; B) #define N 100 C)int num[0..100]; D) int N=100;int num[N]; int num[N];12.以下能正确定义数组并正确赋初值的语句是(d)A)int N=5,b[N][N]; B)int a[1][2]={{1},{3}};C)int c[2][]= {{1,2},{3,4}}; D)int d[3][2]={{1,2},{34}};13.有以下程序(a)main(){ int i;for (i=0; i<3; i++)switch (i){ case 1: printf("%d ", i);case 2: printf("%d ", i);default : printf("%d ", i); }}执行后输出结果是A)011122 B)012 C)012020 D)12014.有以下程序(d)main(){ int p[7]={11,13,14,15,16,17,18}, i=0,k=0;while(i<7 && p[i]%2) { k =k+ p[i]; i++; }printf("%d\n", k);}执行后输出结果是A)58 B)56 C)45 D)2415.以下叙述中正确的是(c)A)C语言比其他语言高级 B)C语言可以不用编译就能被计算机识别执行C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D)C语言出现的最晚,具有其他语言的一切优点16.下列叙述中正确的是(d)A)C语言中既有逻辑类型也有集合类型B)C语言中没有逻辑类型但有集合类型C)C语言中有逻辑类型但没有集合类型D)C语言中既没有逻辑类型也没有集合类型17.以下叙述中正确的是(a)A)C程序中注释部分可以出现在程序中任意合适的地方B)花括号"{"和"}"只能作为函数体的定界符C)构成C程序的基本单位是函数,所有函数名都可以由用户命名D)分号是C语句之间的分隔符,不是语句的一部分二)阅读程序,写出程序运行结果(1) #include<stdio.h>main(){ char ch=’A’;ch=(ch>=’A’&& ch<=’Z’)?(ch+32):ch;printf(“%c”,ch);}程序的运行结果是:(2) #include<stdio.h>main( ){ int sum=0,i=11;while (i<=10){sum=sum+i;i++;}printf(“%d”,sum);}程序的运行结果是:(3) #include<stdio.h>main(){ char str[ ]=”1a2b3c”;int i;for(i=0;str[i]!=’\0’;i++)if (str[i]>=’0’ && str[i]<=’9’) printf(“%c”,str[i]);}程序的运行结果是:(4) main(){ int a,b;a=5;b=8;p(a+b,a);}p(int x,int y){y=x+y;printf(“%d %d”,x,y);}程序的运行结果是:(5) #include<stdio.h>void main(){ int a[3][3]={{1,2,3},{4,5,6},{7,8,9}};int j,s=1;for(j=0;j<=2;j++)s=s*a[j][j];printf("%d",s);}程序的运行结果是:Key: (1) a (2) 0 (3) 123 (4) 5 13 13 18 (5) 45 三)改错题(每个程序只有一个错误,填入错误语句所在的行号以及修改后的语句)(1)下段程序的功能是先输入一个整数,然后将输入的整数输出。
大一c程序设计期末考试题及答案
![大一c程序设计期末考试题及答案](https://img.taocdn.com/s3/m/289d5b50effdc8d376eeaeaad1f34693dbef104c.png)
大一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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言程序设计期末考试试卷及答案一、单项选择题1. ___D___是合法的用户自定义标识符。
A、 b-bB、floatC、<fr>D、 _isw2. 若变量已正确定义并赋值,表达式___B___不符合C语言语法。
A、a*b/c;B、3.14%2C、2, bD、a/b/c3. ___C__是不正确的字符常量。
A、'n'B、'1'C、"a"D、'101'4. 在 C 程序中,用___B__表示逻辑值“真”。
A、1B、非 0 的数C、非 1 的数D、大于 0 的数5. __C____把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. 若变量已正确定义,表达式___C___的值不是2。
A、2&3B、1<<1C、a==2D、1^37. 若变量已正确定义,语句“if(a>b) k=0; else k=1;”和__C____等价。
A、k=(a>b)?1:0;B、k=a>b;C、k=a<=b;D、a<=b ? 0 : 1;8. 设变量定义为“int a, b;”,执行下列语句时,输入_D____,则a和b的值都是10。
scanf("a=%d, b=%d",&a, &b);A、10 10B、10, 10C、a=10 b=10D、a=10, b=109. 下列程序的输出结果是__D___。
fun(int a, int b, int c){ c =a*b; }void main( ){ int c;fun(2,3,c);printf(”%dn”,c);}A、0B、1C、6D、无法确定10. 在C程序中,若对函数类型未加说明,则函数的隐含类型为__A___。
A、intB、doubleC、voidD、char11. 表达式 strlen(”hello”) 的值是___B____。
A、 4B、 5C、 6D、 712. 设变量定义为“int a[4];”,则表达式__D____不符合C语言语法。
A、*aB、a[0]C、aD、a++13. 设变量定义为“int x, *p=&x;”,则&*p相当于__A___。
A、pB、*pC、xD、*&x14. 若变量已正确定义,_A___不能使指针p成为空指针。
A、p=EOFB、p=0C、p=’’D、p=NULL15. 对于以下的变量定义,表达式__D____不符合C语言语法。
struct node {int len;char *pk;} x = {2, "right"}, *p = &x;A、p->pkB、*p.pkC、*p->pkD、*x.pk16. 有如下程序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(“%\d\n”,r);}该程序的输出的结果是 (D)A) 12 B) 13 C) 14 D) 1517. 对于基类型相同的两个指针变量之间,不能进行的运算是 (C)A) < B) = C) + D) -long fib(int n){ if(n>2) return(fib(n-1)+fib(n-2));else return(2);}main0{ printf(“%d\n”,fib(3));该程序的输出结果是 (B)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的语句是 (D)A) prinft(“%c\n”,class[3].mane);B) pfintf(“%c\n”,class[3].name[1]);C) prinft(“%c\n”,class[2].name[1]);D) printf(“%^c\n”,class[2].name[0]);20. 以下所列的C语言常量中,错误的是 (B)A) 0xFF B) 1.2e0.5 C) 2L D) ‘\72’int k=0while(k=1)k++;while 循环执行的次数是 (A)A) 无限次 B) 有语法错,不能执行C) 一次也不执行 D) 执行1次22. 以下程序的输出结果是 (C)A) 0 B) 29 C) 31 D) 无定值fun(int x, int y, int z){ z=x*x+y*y; }main(){ int a=31;fun(5,2,a);printf(“%d”,a);}23. 下列程序段的输出结果是 (A)A) 2 1 4 3 B) 1 2 1 2 C) 1 2 3 4 D) 2 1 1 2void 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);}24. 当调用函数时,实参是一个数组名,则向函数传送的是 (B)A) 数组的长度 B) 数组的首地址C) 数组每一个元素的地址 D) 数组每个元素中的值25. 以下程序的输出结果是 (A)A) 1 B) 2 C) 3 D) 4long fun( int n){ long s;if(n= =1 || n= =2) s=2;else s=n-fun(n-1);return s;}main(){ printf(“%ld\n”, fun(3)); }26. 以下程序的输出结果是 (B)A) 16 B) 2 C) 9 D) 1#define SQR(X) X*Xmain(){ int a=16, k=2, m=1;a/=SQR(k+m)/SQR(k+m);printf(“d\n”,a);}27. 以下函数返回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);}在下划线处应填入的是 (D)A) i=p B) a[p]=a[i] C) p=j D) p=i二、填空题1. 表示“x≥y≥z”的C表达式是___ x>=y && y>=z ____。
2. 下列程序段的输出是__1____。
printf("%on", 010<<1^1);3.下列程序段的输出是__6,90____。
int k;float s;for (k=0, s=0; k < 7; k ++)s += k/2;printf("%d, %fn", k, s);4.下列程序段的输出是__5,25_____。
#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. 下列程序段的输出是__5 8___。
# 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. 下列程序段的输出是___5__。
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 (_*s++=*t++____);}9.下列程序段的输出是_ ne,s ____。
char *a[2]={"one", "two"}, **p=a;printf("%s,", *(p++)+1);printf("%cn", **p-1);10. 下列程序编译后生成 t.exe, 运行 t input output zoo oil 的输出结果是__zoo___。
void main(int argc, char * argv[ ]){ 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的值。
程序的输出结果是:After swap 5, 3。
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 ;}原文链接:/article/detail.asp?id=2764。