2016年C语言复习题含答案(2)
C语言程序设计试题集及其答案 (2)

第一章基础知识一.填空1.每个C程序都必须有且仅有一个________ 函数。
2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。
3. 软件是程序,以及______、使用和维护所需要的所有文档。
4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。
5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。
6. C语言是由________组成的。
7. C语言的函数可分为主函数main、标准库函数和_________。
8. 一个函数是由两部分组成的,即:________和函数体。
9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。
10.程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作的要求。
不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。
11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。
12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对象,也可以用标号和符号来代替地址、常量和变量。
13.在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。
14. C程序的执行均是由执行_________开始。
15.函数体即为包含在{}内的部分。
它分为________和为完成功能任务由若干个C 语句组成的执行部分。
16.C语言程序中一条简单语句是以________字符作为结束符的。
17.C语言是结构化、________的程序设计语言。
2016年c语言二级试题及答案

2016年c语言二级试题及答案2016年C语言二级试题及答案一、选择题1. 下列关于C语言的描述中,错误的是()。
A. C语言是一种高级语言B. C语言可以直接在操作系统上运行C. C语言具有结构化的特点D. C语言具有丰富的库函数答案:B2. 在C语言中,用于定义整型变量的关键字是()。
A. intB. floatC. charD. double答案:A3. 下列选项中,不是C语言标准库函数的是()。
A. printf()B. scanf()C. strcpy()D. strcat()答案:C二、填空题1. 在C语言中,一个整型变量占用的字节数是()。
答案:42. C语言中,用于定义字符常量的是()。
答案:单引号3. C语言中,用于定义浮点型变量的关键字是()。
答案:float三、简答题1. 请简述C语言中数组的定义方式。
答案:C语言中数组的定义方式是通过指定数组的类型、名称和大小来定义的。
例如,定义一个整型数组可以写作:`int array[10];`,其中`int`是数组的类型,`array`是数组的名称,`10`是数组的大小。
2. 请说明C语言中指针和数组的关系。
答案:在C语言中,指针和数组有密切的关系。
指针可以用于访问数组元素,数组名在大多数情况下可以作为指向数组第一个元素的指针使用。
例如,如果有一个数组`int arr[10];`,那么`arr`可以作为指向`arr[0]`的指针。
四、编程题1. 编写一个C语言程序,实现计算两个整数的和。
答案:```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("两个整数的和是:%d\n", sum); return 0;}```2. 编写一个C语言程序,实现字符串的反转。
2016秋季电大c语言试题及答案

2016秋季电大c语言试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个函数?A. structB. intC. voidD. return答案:B2. 在C语言中,以下哪个运算符用于取模运算?A. %B. /C. *D. -答案:A3. 下列哪个选项不是C语言中的控制结构?A. if-elseB. switch-caseC. forD. goto答案:D4. 在C语言中,以下哪个选项是正确的字符串定义方式?A. char str[] = "Hello";B. char str[] = 'Hello';C. int str[] = "Hello";D. int str = "Hello";答案:A5. 以下哪个选项是C语言中的合法变量名?A. 2variableB. variable2C. variable_2D. variable$2答案:B6. C语言中,以下哪个函数用于将字符串转换为浮点数?A. atoiB. atofC. itoaD. sprintf答案:B7. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A8. 下列哪个选项是C语言中的合法数组定义?A. int arr[10];B. int arr[] = {1, 2, 3};C. int arr[10] = {1, 2, 3};D. All of the above答案:D9. 在C语言中,以下哪个函数用于计算字符串的长度?A. strlenB. strcpyC. strcatD. strcmp答案:A10. 在C语言中,以下哪个选项是正确的文件操作函数?A. fopenB. fcloseC. fprintfD. All of the above答案:D二、填空题(每题2分,共20分)1. 在C语言中,用于定义一个整型变量的关键字是________。
2016年c自考试题及答案

2016年c自考试题及答案一、单项选择题(每题1分,共10分)1. 以下哪项是C语言中合法的变量名?A. 2variableB. variable2C. _variableD. variable_2答案:C2. C语言中,用于定义一个整型变量的关键字是?A. intB. floatC. charD. double答案:A3. 在C语言中,以下哪个运算符用于比较两个值是否相等?A. ==B. =C. !=D. <=答案:A4. 下列哪个选项是C语言中的逻辑运算符?A. %B. &&C. /D. +5. C语言中,哪个函数用于将字符串转换成浮点数?A. atoiB. atofC. itoaD. sprintf答案:B6. C语言中,数组的索引是从哪个数字开始的?A. 0B. 1C. -1D. 任意数字答案:A7. 在C语言中,以下哪个关键字用于定义一个函数?A. classB. functionC. voidD. int答案:C8. C语言中,哪个库函数用于计算数组中元素的总和?A. sumB. totalC. sumArrayD. arraySum答案:C9. 下列哪个选项是C语言中的循环结构?B. whileC. do-whileD. 以上都是答案:D10. C语言中,哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A二、填空题(每题2分,共20分)1. 在C语言中,定义一个字符型变量的关键字是________。
答案:char2. C语言中,用于定义一个浮点型变量的关键字是________。
答案:float3. C语言中,用于定义一个双精度型变量的关键字是________。
答案:double4. C语言中,用于定义一个布尔型变量的关键字是________。
答案:_Bool 或 bool(取决于编译器)5. C语言中,用于定义一个无返回值函数的关键字是________。
2016年计算机二级c语言考试真题及答案

2016年计算机二级c语言考试真题及答案一、单项选择题(每题2分,共20分)1. 在C语言中,以下哪个选项是合法的字符常量?A. 'a'B. "a"C. 0x61D. 61答案:A2. 以下哪个选项是C语言中的关键字?A. autoB. defineC. includeD. input答案:A3. 以下哪个选项是正确的C语言函数声明?A. int fun();B. void fun(int a);C. int fun(int a, int b);D. int fun(int a, int b) {}答案:C4. 在C语言中,以下哪个选项是正确的二维数组声明?A. int a[2][3];B. int a[][];C. int a[3][];D. int a[2,3];5. 以下哪个选项是正确的C语言指针声明?A. int *p;B. int *p[];C. int (*p)[];D. int (*p)(int);答案:A6. 在C语言中,以下哪个选项是合法的赋值语句?A. 5 = a;B. a = 5;C. a = *p;D. *p = a;答案:B7. 在C语言中,以下哪个选项是正确的结构体声明?A. struct { int a; } s;B. struct { int a; } s[];C. struct { int a; } s[10];D. struct { int a; } s, t;答案:C8. 在C语言中,以下哪个选项是正确的枚举类型声明?A. enum {RED, GREEN, BLUE} color;B. enum color {RED, GREEN, BLUE};C. enum {RED, GREEN, BLUE} color;D. enum color {RED, GREEN, BLUE} color;答案:B9. 在C语言中,以下哪个选项是正确的文件操作函数?B. fcloseC. fgetcD. All of the above答案:D10. 在C语言中,以下哪个选项是正确的递归函数调用?A. void fun() { fun(); }B. void fun(int n) { if (n > 0) fun(n - 1); }C. void fun(int n) { fun(n + 1); }D. void fun() { fun(1); }答案:B二、程序填空题(每空2分,共20分)1. 以下是一个计算数组元素和的函数,请填空完成该函数。
2016年3月份全国计算机等级考试二级C语言答案及及真题

作为函数值返回。字符串在主函数中输入,规定所有单词由小写字母组成,单词 之间有若干个空格隔开,一行的开始没有空格。 注意:部分源程序在文件 PROG1.C 中。 请勿改动 main 函数和其他函数中的任何内容,仅在函数 fun 的花括号中填入所 编写的若干语句。
int fun(char *s) { int i,j=0; for(i=0;s[i]!='\0';i++) if(s[i]!=' '&&(s[i+1]==' '||s[i+1]=='\0')) /*如果一个字母的下一个字符为空格或者结束标记,则表示一个单词结束*/ j++; return j; /*返回单词个数*/ } 第(2)套: (1)程序填给定程序中,函数 fun 的功能是:计算形参 x 所指数组中 N 个数的 平均值(规定所有数均为正数),作为函数值返回,并将大于平均值的数放在形参 y 所指数组 中,在主函数中输出。 例如,有 10 个正数:46、30、32、40、6、17、45、15、48、26,其平均值为 30.500000。 主函数中输出:46 32 40 45 48。
组中 N 个数的平均值(规定所有数均为正数), 将所指数组中大于平均值的数据移 至数组的前部, 小于等于平均值的数据移至 x 所指数组的后部,平均值作为函数 值返回,在主函数中输出平均值和移动后的数据。 例如, 有 10 个正数: 46、 30、 32、 40、 6、 17、 45、 15、 48、 26, 平均值为 30.500000。 移动后的输出为:46、32、40、45、48、30、6、17、15、26。 请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。 注意:部分源程序在文件 BLANK1.C 中。 不得增行或删行,也不得更改程序的结构!
计算机等级C语言考试真题及答案

计算机等级C语言考试真题及答案2016年计算机等级C语言考试真题及答案一、选择题在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为A)PAD图 B)N-S图 C)结构图 D)数据流图(2)结构化程序设计主要强调的是A)程序的规模B)程序的效率C)程序设计语言的先进性D)程序易读性(3)为了使模块尽可能独立,要求A)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱D)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强(4)需求分析阶段的任务是确定A)软件开发方法B)软件开发工具C)软件开发费用D)软件系统功能(5)算法的有穷性是指A)算法程序的运行时间是有限的B)算法程序所处理的数据量是有限的C)算法程序的长度是有限的D)算法只能被有限的用户使用(6)对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是A)快速排序 B)冒泡排序 C)直接插入排序 D)堆排序(7)如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是A)e3,e1,e4,e2 B)e2,e4,e3,e1 C)e3,e4,e1,e2 D) 任意顺序(8)将E-R图转换到关系模式时,实体与联系都可以表示成A)属性 B)关系 C)键 D)域(9)有三个关系R、S和T如下:RB C Da 0 k1b 1 n1SB C Df 3 h2a 0 k1n 2 x1TB C Da 0 k1由关系R和S通过运算得到关系T,则所使用的运算为A)并 B)自然连接 C)笛卡尔积 D)交(10)下列有关数据库的描述,正确的是A)数据处理是将信息转化为数据的过程B)数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变C)关系中的每一列称为元组,一个元组就是一个字段D)如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字(11)以下叙述中正确的是A)用C程序实现的算法必须要有输入和输出操作B)用C程序实现的算法可以没有输出但必须要有输入C)用C程序实现的算法可以没有输入但必须要有输出D)用C程序实现的算法可以既没有输入也没有输出(12)下列可用于C语言用户标识符的一组是A)void, define, WORD B)a3_3,_123,Car C)For, -abc, IF CaseD)2a, DO, sizeof(13)以下选项中可作为C语言合法常量的是A)-80 B)-080 C)-8e1.0 D)-80.0e(14)若有语句:char *line[5];,以下叙述中正确的是A) 定义line是一个数组,每个数组元素是一个基类型为char为指针变量B) 定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组C) 定义line是一个指针数组,语句中的*号称为间址运算符D) 定义line是一个指向字符型函数的指针(15)以下定义语句中正确的是A)int a=b=0; B)char A=65+1,b=′b′; C)float a=1,*b=&a,*c=&b; D)double a=0?0;b=1.1;(16)有以下程序段char ch; int k;ch=′a′;k=12;printf("%c,%d,",ch,ch,k); printf("k=%d \n",k);已知字符a的ASCII码值为97,则执行上述程序段后输出结果是A)因变量类型与格式描述符的类型不匹配输出无定值B)输出项与格式描述符个数不符,输出为零值或不定值C)a,97,12k=12D)a,97,k=12(17)有以下程序main(){ int i,s=1;for (i=1;i<50;i++)if(!(i%5)&&!(i%3)) s+=i;printf("%d\n",s);}程序的输出结果是A)409 B)277 C)1 D)91(18)当变量c的值不为2、4、6时,值也为"真"的表达式是A)(c==2)||(c==4)||(c==6)B)(c>=2&& c<=6)||(c!=3)||(c!=5)C)(c>=2&&c<=6)&&!(c%2)D)(c>=2&&c<=6)&&(c%2!=1)(19)若变量已正确定义,有以下程序段int a=3,b=5,c=7;if(a>b) a=b; c=a;if(c!=a) c=b;printf("%d,%d,%d\n",a,b,c);其输出结果是A)程序段有语法错 B)3,5,3 C)3,5,5 D)3,5,7(20)有以下程序#includemain(){ int x=1,y=0,a=0,b=0;switch(x){ case 1:switch(y){ case 0:a++; break;case 1:b++; break;}case 2:a++; b++; break;case 3:a++; b++;}printf("a=%d,b=%d\n",a,b);}程序的运行结果是A)a=1,b=0 B)a=2,b=2 C)a=1,b=1 D)a=2,b=1(21)下列程序的输出结果是#include "stdio.h"main(){ inti,a=0,b=0;for(i=1;i<10;i++){ if(i%2==0){a++;continue;}b++;}printf("a=%d,b=%d",a,b); }A)a=4,b=4 B)a=4,b=5 C)a=5,b=4 D)a=5,b=5(22)已知#int t=0;while (t=1){...}则以下叙述正确的是A)循环控制表达式的值为0B)循环控制表达式的值为1C)循环控制表达式不合法D)以上说法都不对(23)下面程序的输出结果是main(){ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;printf("%d\n",*(p+2));}A)3 B)4 C)1 D)2(24)以下错误的定义语句是A)int x[][3]={{0},{1},{1,2,3}}; B)int x[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};C)int x[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}}; D)int x[][3]={1,2,3,4};(25)有以下程序void ss(char *s,char t){ while(*s){ if(*s==t)*s=t-′a′+′A′;s++; } }main(){ cha r str1[100]="abcddfefdbd",c=′d′;ss(str1,c); printf("%s\n",str1);}程序运行后的输出结果是A)ABCDDEFEDBD B)abcDDfefDbD C)abcAAfefAbAD)Abcddfefdbd(26)有如下程序main(){ char ch[2][5]={"6937","8254"},*p[2];int i,j,s=0;for(i=0;i<2;i++)p[i]=ch[i];for(i=0;i<2;i++)for(j=0;p[i][j]>′\0′;j+=2)s=10*s+p[i][j]-′0′;printf("%d\n",s);}该程序的输出结果是A)69825 B)63825 C)6385 D)693825(27)有定义语句:char s[10];,若要从终端给s输入5个字符,错误的输入语句是A)gets(&s[0]); B)scanf("%s",s+1); C)gets(s); D)scanf("%s",s[1]);(28)以下叙述中错误的是A)在程序中凡是以"#"开始的语句行都是预处理命令行 B)预处理命令行的最后不能以分号表示结束 C)#define MAX 是合法的宏定义命令行 D)C程序对预处理命令行的处理是在程序执行的过程中进行的(29)设有以下说明语句typedef struct{ int n;charch[8];} PER;则下面叙述中正确的是A)PER 是结构体变量名 B)PER是结构体类型名 C)typedef struct 是结构体类型 D)struct 是结构体类型名(30)以下叙述中错误的是A)gets函数用于从终端读入字符串B)getchar函数用于从磁盘文件读入字符C)fputs函数用于把字符串输出到文件D)fwrite函数用于以二进制形式输出数据到文件(31)以下能正确定义一维数组的选项是A)int a[5]={0,1,2,3,4,5}; B)char a[]={′0′,′1′,′2′,′3′,′4′,′5′,′\0′};C)char a={′A′,′B′,′C′}; D)int a[5]="0123";(32)有以下程序#includemain(){ char p[]={′a′, ′b′, ′c′},q[10]={ ′a′,′b′, ′c′};printf("%d%d\n",strlen(p),strlen(q));}以下叙述中正确的是A)在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3B)由于p数组中没有字符串结束符,长度不能确定,但q数组中字符串长度为3C)由于q数组中没有字符串结束符,长度不能确定,但p数组中字符串长度为3D)由于p和q数组中都没有字符串结束符,故长度都不能确定(33)有以下程序#include#includevoid fun(char ?*s[],int n){ char ?*t; int i,j;for(i=0;i<n-1;i++)< bdsfid="259" p=""> </n-1;i++)<> for(j=i+1;j<n;j++)< bdsfid="261" p=""> </n;j++)<> if(strlen(s[i])>strlen(s[j])) {t=s[i];s[i]:s[j];s[j]=t;}}main(){ char ?*ss[]={"bcc","bbcc","xy","aaaacc","aabcc"};fun(ss,5); printf("%s,%s\n",ss[0],ss[4]);}程序的运行结果是A)xy,aaaacc B)aaaacc,xy C)bcc,aabcc D)aabcc,bcc(34)有以下程序#includeint f(int x){ int y;if(x==0||x==1) return(3);y=x?*x-f(x-2);return y;}main(){ int z;z=f(3); printf("%d\n",z);}程序的运行结果是A)0 B)9 C)6 D)8(35)下面程序段的运行结果是char str[]="ABC",*p=str;printf("%d\n",*(p+3));下载文档。
16年电大c语言期末试题及答案

16年电大c语言期末试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,错误的是()。
A. C语言是一种高级语言B. C语言是一种低级语言C. C语言支持结构化编程D. C语言具有丰富的函数库答案:B2. C语言中,用于定义一个结构体的关键字是()。
A. structB. unionC. enumD. typedef答案:A3. 在C语言中,以下哪个选项不是合法的变量名?()A. _sumB. sum$C. 2sumD. sum答案:C4. 下列关于C语言中数组的描述,正确的是()。
A. 数组的大小是可变的B. 数组的大小是固定的C. 数组可以存储不同类型的数据D. 数组必须初始化答案:B5. 在C语言中,以下哪个运算符用于比较两个值是否不相等?()A. ==B. !=C. =D. <=答案:B6. C语言中,以下哪个函数用于计算并返回字符串的长度?()A. strlen()B. strcpy()C. strcmp()D. strcat()答案:A7. 下列关于C语言中指针的描述,错误的是()。
A. 指针可以存储地址B. 指针可以存储值C. 指针可以作为函数的参数D. 指针可以作为函数的返回值答案:B8. 在C语言中,以下哪个关键字用于定义一个函数?()A. intB. voidC. returnD. function答案:A9. C语言中,以下哪个选项是正确的文件操作函数?()A. fopen()B. open()C. file()D. create()答案:A10. 在C语言中,以下哪个选项用于定义一个全局变量?()A. externB. staticC. autoD. register答案:A二、填空题(每题2分,共20分)1. C语言中,用于定义一个整型变量的关键字是________。
答案:int2. 在C语言中,________运算符用于将一个值赋给变量。
答案:=3. C语言中,________关键字用于定义一个函数的返回类型。
全国计算机等级考试二级C语言真题题库2+2016年3月

全国计算机等级考试二级C语言真题题库2 2016年3月(总分:100.00,做题时间:120分钟)一、选择题(每小题1分,共40分)(总题数:40,分数:40.00)1.设有以下程序段: struct book { float price; char language; char title[20]; } rec,*ptr; ptr = &rec; 要求输入字符串给结构体变量rec的title成员,错误的输入语句是()。
(分数:1.00)A.seanf(”%s”Ptrtitle);√B.scanf(”%s”,rec.title);C.scanf(’’%s”,(*pu).title);D.scanf(”%s”,ptr->title);解析:符号“_>”是指针特用的,符号“.”用于指定元素的成员。
ptr是指针,只能用符号“一>”,因此选项A错误。
+P是指定元素(Fee)可以使用“.”运算,因此选项D正确。
选项B,Fee.title代表数组title,同理选项C正确。
答案为A选项。
2.有以下程序:aBeDefG##,则输出结果是()。
(分数:1.00)A.AbCdEFgB.ABCDEFGC.BCDEFGH √D.bedefgh解析:循环的作用是将输入的字符串转化为大写,9etchar()每次读入一个字符,putchar()每次输出一个字符,当遇到#字符结束。
putchar(++C),表示将字符变量C加1后输出。
因此,输入aBcDefG##,得到的结果是BCDEFGH。
故答案为c选项。
3.以下与存储类别有关的四组说明符中,全部属于静态类的一组是()。
(分数:1.00)A.extem和static √B.auto和staticC.register和staticD.register和excerl解析:auto用于声明变量的生存期为自动,即将不在任何类、结构、枚举、联合和函数中定义的变量视为全局变量,而在函数中定义的变量视为局部变量。
C语言题集(二)答案

C语⾔题集(⼆)答案第3章顺序结构1.B解析:在C语⾔中,当⼀次输⼊多个数据的时候,数据之间要⽤间隔符,合法的间隔符可以是空格、制表符和回车符。
逗号不是合法的间隔符。
2.B解析:本题中a的值为6,b的值为8,最后s的值为8,s*=s等价于s=s*s。
3.C解析:①printf函数的浮点数缺省输出格式:在printf函数的输出中,若⽆输出宽度限制,每种数据都有⼀个缺省的输出宽度,⼀般浮点数的⼩数位数则是6位,不管输出格式是%f或%lf皆如此。
4.②printf函数的浮点数宽度限制输出:以%mf或%mlf格式输出浮点时,如果指定的宽度⼤于实际数据宽度,按指定宽度输出,且多余数补以空格;如果指定的宽度⼩于实际数据宽度,浮点数的整数部分将以实际数据(位数)输出。
⼩数部分按指定数输出,且对数据做四舍五⼊处理。
5.③printf的整数限宽输出:没有宽度制的整数原数输出。
在宽度限制于数的实际位数时,宽度说明⽆效,按数的实际位数输出。
6.D解析:在C语⾔所有的运算符中,逗号运算符的优先级最低。
C语中区分⼤⼩,所以APH和aph是两个不同的变量。
赋值表达式a=b表⽰将b的值付给a,⽽b本⾝的值保持不变;通过键盘可以向计算机输⼊允许的任何类型的数据。
选项D)中当从键盘输⼊数据时,对于整型变量可以输⼊整型数值和字符,对于实型变量可以输⼊实型数和整型数值等。
7.C解析:本题中,程序先执⾏语句 x=;,根据赋值运算的类型转换规则,先将double型的常量转换为int型,即取整为1,然后将1赋值给变量x。
接下来执⾏语句y=(x+)/;根据运算符的优先级,先计算⼩括号内,再计算除法,最后执⾏赋值运算。
⼩括号内的运算过程:先将整型变量x的值1转换为double型,然后与进⾏加法运算,得到中间结果。
接着进⾏除法运算,其结果⼩于,这⾥没有必要计算出精确值,因为接着进⾏赋值运算,赋值号左边的变量y的类型为整型,于是对这个⼩于的中间结果进⾏取整,结果为0,于是变量y的值为0,d*y的值也为0。
2016计算机二级考试c语言真题及答案

2016计算机二级考试c语言真题及答案一、选择题(每题1分,共20分)1. 下列关于C语言的叙述中,正确的是()。
A. C语言的源程序文件名的后缀是.cB. C语言的源程序文件名的后缀是.cppC. C语言的源程序文件名的后缀是.javaD. C语言的源程序文件名的后缀是.py答案:A2. 在C语言中,以下哪个关键字用于定义函数?()A. structB. functionC. defineD. void答案:D3. 若有以下定义:```cint a = 10, b = 20, c = 30;```则执行以下语句后,变量c的值是多少?()```cc = a > b ? a : b;```A. 10B. 20C. 30D. 40答案:B4. 在C语言中,以下哪个运算符用于取模运算?()A. %B. /C. *D. -答案:A5. 下列关于C语言中数组的叙述,不正确的是()。
A. 数组名代表数组的首地址B. 数组名是一个常量C. 数组名可以被赋值D. 数组名可以作为函数参数答案:C6. 在C语言中,以下哪个函数用于计算字符串的长度?()A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A7. 在C语言中,以下哪个关键字用于定义指针?()A. pointerB. ptrC. int*D. *答案:D8. 在C语言中,以下哪个函数用于打开文件?()A. fopen()B. fclose()C. fgetc()D. fwrite()答案:A9. 在C语言中,以下哪个函数用于将字符串复制到字符数组中?()A. strcpy()B. strncpy()C. strcat()D. strcmp()答案:A10. 在C语言中,以下哪个函数用于将格式化的数据写入文件?()A. printf()B. fprintf()C. scanf()D. fscanf()答案:B11. 在C语言中,以下哪个函数用于计算两个浮点数之间的差的绝对值?()A. fabs()B. floor()C. ceil()D. fmod()答案:A12. 在C语言中,以下哪个关键字用于定义结构体?()A. structB. unionC. enumD. typedef答案:A13. 在C语言中,以下哪个函数用于将整数转换为字符串?()A. atoi()B. itoa()C. sprintf()D. sscanf()答案:B14. 在C语言中,以下哪个函数用于获取当前时间?()A. time()B. localtime()C. mktime()D. gmtime()答案:A15. 在C语言中,以下哪个函数用于将字符串转换为浮点数?()A. atof()B. atoi()C. atol()D. atoll()答案:A16. 在C语言中,以下哪个关键字用于定义枚举类型?()A. enumB. unionC. structD. typedef答案:A17. 在C语言中,以下哪个函数用于获取字符串中的子字符串?()A. strncpy()B. strncat()C. strstr()D. strtok()答案:C18. 在C语言中,以下哪个函数用于计算两个整数之间的差的绝对值?()A. fabs()B. floor()C. abs()D. labs()答案:C19. 在C语言中,以下哪个函数用于将浮点数转换为字符串?()A. sprintf()B. sscanf()C. atof()D. atoi()答案:A20. 在C语言中,以下哪个函数用于释放动态分配的内存?()A. malloc()B. calloc()C. realloc()D. free()答案:D二、填空题(每题2分,共20分)1. 在C语言中,使用____关键字可以定义一个全局变量。
2016年3月全国计算机等级考试二级《C语言》真题二及详解

2016年3月全国计算机等级考试二级《C语言》真题二(总分100, 考试时间120分钟)一、选择题(每小题1分,共40分)1. 设有以下程序段:struct book{ float price;char language;char title[20];} rec,*ptr;ptr = &rec;要求输入字符串给结构体变量rec的title成员,错误的输入语句是()。
A seanf(”%s”Ptrtitle);B scanf(”%s”,rec.title);C scanf(’’%s”,(*pu).title);D scanf(”%s”,ptr->title);该问题分值: 1答案:A符号“_>”是指针特用的,符号“.”用于指定元素的成员。
ptr是指针,只能用符号“一>”,因此选项A错误。
+P是指定元素(Fee)可以使用“.”运算,因此选项D正确。
选项B,Fee.title代表数组title,同理选项C正确。
答案为A选项。
2. 有以下程序:执行时输入:aBeDefG##<回车>,则输出结果是()。
A AbCdEFgB ABCDEFGC BCDEFGHD bedefgh该问题分值: 1答案:C循环的作用是将输入的字符串转化为大写,9etchar()每次读入一个字符,putchar()每次输出一个字符,当遇到#字符结束。
putchar(++C),表示将字符变量C加1后输出。
因此,输入aBcDefG##,得到的结果是BCDEFGH。
故答案为c选项。
3. 以下与存储类别有关的四组说明符中,全部属于静态类的一组是()。
A extem和staticB auto和staticC register和staticD register和excerl该问题分值: 1答案:Aauto用于声明变量的生存期为自动,即将不在任何类、结构、枚举、联合和函数中定义的变量视为全局变量,而在函数中定义的变量视为局部变量。
c语言基础测试题及答案2016版

c语言基础测试题及答案2016版一、选择题(每题2分,共20分)1. 在C语言中,以下哪个选项是合法的字符常量?A. 'A'B. "A"C. 123D. A答案:A2. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A3. 下列哪个选项是C语言中的合法整数?A. 0x1FB. 01FC. 09FD. 08F答案:A4. 在C语言中,以下哪个选项是正确的注释?A. // 这是一条注释B. /* 这是一条注释 */C. // 这是一条注释/* 这是一条注释 */D. /* 这是一条注释/* 这是一条注释 */答案:A5. C语言中,以下哪个选项是合法的数组声明?A. int a[10];B. int a[2][3];C. int a[0];D. int a[];答案:A6. 在C语言中,以下哪个选项是合法的函数声明?A. int function(int x);B. int function(int);C. int function();D. int function(int, int);答案:A7. 下列哪个选项是C语言中的合法变量名?A. _myVarB. 2myVarC. my-VarD. my$Var答案:A8. 在C语言中,以下哪个选项是正确的字符串声明?A. char str[] = "Hello, World!";B. char str[] = 'Hello, World!';C. char str[] = "Hello, World!";D. char str = "Hello, World!";答案:A9. 下列哪个选项是C语言中的合法浮点数?A. 3.14159B. .14159C. 314159e-5D. 3.14.159答案:C10. 在C语言中,以下哪个选项是正确的文件包含指令?A. #include <stdio.h>B. #include "stdio.h"C. #include <stdio>D. #include "stdio"答案:A二、填空题(每题2分,共20分)1. 在C语言中,一个整型变量默认占用______个字节。
C语言各章节复习题(带答案) 2

一、C语言概述练习题选择1.一个C程序的执行是从。
A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序文件的第一个函数开始,到本程序main函数结束D) 本程序的main函数开始,到本程序文件的最后一个函数结束2.以下叙述不正确的是。
A) 一个C源程序必须包含一个main函数 B)一个C源程序可由一个或多个函数组成C) C程序的基本组成单位是函数 D) 在C程序中,注释说明只能位于一条语句的后面3.以下叙述正确的是。
A) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误B) 在C程序中,main函数必须位于程序的最前面C) C语言本身没有输入输出语句 D) C程序的每行中只能写一条语句4.一个C语言程序是由。
A)一个主程序和若干个子程序组成B) 函数组成 C) 若干过程组成 D) 若干子程序组成5.计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是。
A) C语言程序仅可以编译执行B) C语言程序仅可以解释执行C) C语言程序既可以编译执行又可以解释执行D) 以上说法都不对6.以下叙述中错误的是。
A) C语言的可执行程序是由一系列机器指令构成的B)用C语言编写的源程序不能直接在计算机上运行C)通过编译得到的二进制目标程序需要连接才可以运行D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件7.以下叙述正确的是。
A) C语言程序是由过程和函数组成的B) C语言函数可以嵌套调用,例如:fun(fun(x))C) C语言函数不可以单独编译 D) C语言中除了main函数,其他函数不可作为单独文件形式存在二、数据类型、运算符与表达式选择.1.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为x=(i=4,j=16,k=32) A) 4 B) 16 C) 32D) 522.下列四组选项中,均不是C语言关键字的选项是。
2016电大c语言期末试题及答案

2016电大c语言期末试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个选项是正确的数据类型?A. intB. floatC. doubleD. 以上都是答案:D2. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. !D. 以上都是答案:D3. 在C语言中,以下哪个关键字用于定义函数?A. defineB. functionC. voidD. int答案:C4. 下列哪个选项是C语言中的循环结构?A. forB. whileC. do-whileD. 以上都是答案:D5. 在C语言中,以下哪个选项用于定义一个指针?A. *B. &C. %D. #答案:A6. C语言中,以下哪个选项是正确的注释方式?A. // 这是注释B. /* 这是注释 */C. //这是注释D. /*这是注释 */答案:B7. 下列哪个选项是C语言中数组的正确声明方式?A. int array[10];B. int array[];C. int array[10]={0};D. 以上都是答案:D8. 在C语言中,以下哪个选项是正确的文件操作函数?A. fopenB. fcloseC. fprintfD. 以上都是答案:D9. 下列哪个选项是C语言中字符串的正确声明方式?A. char str[10];B. char str[] = "Hello";C. char *str = "Hello";D. 以上都是答案:D10. 在C语言中,以下哪个选项是正确的条件语句?A. ifB. switchC. caseD. 以上都是答案:A二、填空题(每题2分,共20分)1. C语言中,整型数据的关键字是____。
答案:int2. C语言中,字符型数据的关键字是____。
答案:char3. C语言中,浮点型数据的关键字是____。
答案:float4. C语言中,字符串可以使用字符数组声明,也可以使用字符指针声明,字符指针声明的关键字是____。
2016年c语言考试题及答案

2016年c语言考试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项不是C语言的基本数据类型?A. intB. floatC. charD. string答案:D2. C语言中,哪个关键字用于定义一个函数?A. functionB. defineC. voidD. def答案:C3. 在C语言中,哪个运算符用于取模运算?A. %B. /C. //D. *答案:A4. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. =D. ==5. 在C语言中,哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A6. C语言中,哪个函数用于将字符串转换为浮点数?A. atoiB. atofC. itoaD. sprintf答案:B7. 下列哪个选项是C语言中的数组声明?A. int a[10];B. int *a;C. int a=10;D. int a[];答案:A8. 在C语言中,哪个关键字用于定义一个指针?A. ptrB. pointerC. *D. ref答案:C9. C语言中,哪个函数用于输出格式化的字符串?B. scanfC. fprintfD. sprintf答案:A10. 在C语言中,哪个关键字用于声明一个变量?A. varB. declareC. letD. auto答案:D二、填空题(每题2分,共20分)1. C语言中,用于定义一个整型变量的关键字是____。
答案:int2. 在C语言中,用于定义一个字符型变量的关键字是____。
答案:char3. C语言中,用于定义一个浮点型变量的关键字是____。
答案:float4. C语言中,用于定义一个双精度浮点型变量的关键字是____。
答案:double5. C语言中,用于定义一个字符串的关键字是____。
答案:char6. 在C语言中,用于定义一个指针的符号是____。
2016年国家计算机二级C语言试题库及答案

2016年国家计算机二级C语言试题库及答案1.(A )是构成程序的基本单位。
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、int t5-8题为相同类型题考点:标识符的命名规则只能由字母、数字、下划线构成数字不能作为标识符的开头关键字不能作为标识符选项A中的“-” ,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3)6.下列C语言用户标识符中合法的是(B )。
A、3axB、xC、caseD、-e2 E)union参考解析:选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1);7.下列四组选项中,正确的C语言标识符是( C )。
A、 %xB、a+bC、a123D、123参考解析:选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2)8、下列四组字符串中都可以用作C语言程序中的标识符的是( A)。
A、print _3d db8 aBcB、I\am one_half start$it 3paiC、str_1 Cpp pow whileD、Pxq My->book line# His.age参考解析:选项B中的“\”,”$” ,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while为关键字,不满足(3)9.C语言中的简单数据类型包括(D )。
C语言程序设计复习题二及参考答案

C语言程序设计复习题二一.单项选择题1.按照C语言的规定,能作为用户标识符的是()。
A)int B)5a C)abc_123 D)unsigned2.编译操作的功能是把源程序转换成()。
A)源程序B)目标程序C)可执行程序D)汇编程序3.定义下面语句,编译会出错的是()。
A)char a='x'; B)char a='\t'; C)char a='cc'; D)char a='\101';4.以下选项中正确的定义语句是()。
A)double x; y; B)double x=y=7; C)double x=7, y=7; D)double, x, y;5.若有定义int x, y;并已正确给变量赋值,则以下选项中与表达式(x-y) ? (x++): (y++)中的条件表达式(x-y)等价的是()。
A)(x-y>0) B)(x-y<0) C)(x-y<0 || x-y>0) D)(x-y==0)6.以下关于long、int和short类型数据占用内存大小的叙述中正确的是()。
A)均占4个字节B)根据数据的大小来决定所占内存的字节数C)由用户自己定义D)由C语言编译系统决定7.设有定义:int x=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是()。
A)x++ B)x+=1 C)++x D)x+18.若有定义语句:int x=10;,则表达式x-=x+x的值为()。
A)-20 B)-10 C)0 D)109.有以下程序void main(){ int x,y,z;x=y=1;z=x++,y++,++y;printf("%d,%d,%d\n",x,y,z);}程序运行后的输出结果是()。
A)2,3,3 B)2,3,2 C)2,3,1 D)2,2,110.以下叙述中正确的是()。
A)C语言是一种非结构化程序设计语言B)结构化程序有顺序、分支、循环三种基本结构组成C)使用三种基本结构构成的程序只能解决简单问题D)结构化程序设计不提倡模块化的设计方法11.有以下程序#include <stdio.h>void main(){ char e1,e2;e1=’A’+’8’-‘4’;e2=’A’+’8’-‘5’;printf(“%c,%d\n”,e1,e2);}已知字母A的ASCII码为65,程序运行后的输出结果是()A)E,68 B)D,69 C)E,D D)输出无定值12.有以下程序void main(){ int a=0,b=0;a=10; /*给a赋值b=20; 给b赋值*/printf("a+b=%d\n",a+b);}程序运行后输出结果是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2016年C语言复习题一、选择题1.C语言程序的基本单位为_ C____。
A) 程序行B) 语句C) 函数D) 字符2.用C语言编写的代码程序___B___。
A)可立即执行B)是一个源程序C)经过编译即可执行D)经过解释就能执行3.以下叙述中正确的是___C___。
A)用C程序实现的算法必须要有输入和输出操作B)用C程序实现的算法可以没有输出但必须要输入C)用C程序实现的算法可以没有输入但必须要有输出D)用C程序实现的算法可以既没有输入也没有输出4.在一个C程序中____B__。
A) main函数必须出现在所有函数之前B) main函数可以在任何地方出现C) main函数必须出现在所有函数之后D) main函数必须出现在固定位置5.以下叙述中错误的是____D___。
A)C程序中的#include和#define行均不是C语句B)除逗号运算符外,赋值运算符的优先级最低C)C程序中,j+=2;是赋值语句D)C程序中,+、-、*、/、%号是算术运算符,可用于整型和实型数的运算6.以下不正确的C语言标识符是_A__。
A)int B)a_1_2C)ab1exe D)_x7.将空格符(AscII码值为32)赋给字符变量c,正确的赋值语句是_D___。
A)c='\0'B)c=NULL C)c=0D)c=328.以下选项中,值为1的表达式___B___。
A)1-‘0’B)1-‘\0’ C)’1’-0D)’\0’-‘0’9.设有int x=11; 则表达式(x++ * 1/3) 的值是_A____。
A) 3B) 4C) 11D) 1210.已知int x=(1,2,3,4);变量x的值是_D___。
A)1B)2C)3D)411.如果int a=1,b=2,c=3,d=4;则条件表达式"a<b?a:c<d?c:d"的值是_A___。
A)1B)2C)3D)412.下列程序的输出结果是___D__。
A) 3B) 3.2C) 0D) 3.07main(){ double d=3.2; int x,y;x=1.2; y=(x+3.8)/5.0;printf("%d \n", d*y);}13.使用语句scanf("x=%f,y=%f",&x,&y);输入变量x、y的值(□代表空格),正确的输入是__C__。
A)1.25,2.4B)1.25□2.4C)x=1.25,y=2.4D)x=1.25□y=2.414.若变量都已正确定义,则程序段___C___。
a=3;b=4;a>b?printf("* * *a=%d",a++); printf("# # #b=%d",b++);A) 输出为:* * * a=4 B) 输出为:* * * a=3C) 输出为:# # # b=4 D) 输出为:# # # b=515.设int x=1,y=1;则表达式(x||--y)运算完毕后,y的值是__B___。
A) 0 B) 1 C) 2D) –116.关系表达式a≤x<b的正确描述是_B___。
A)a<=x<b B)x>=a&&x<b C)x>=a||x<b D)!(x<a&&x>=b)17.为判断字符变量c的值不是数字也不是字母时,应采用下述表达式__D__。
A)c<=48||c>=57&&c<=65||c>=90&&c<=97||c>=122B)!(c<=48||c>=57&&c<=65||c>=90&&c<=97||c>=122)C)c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122D)!(c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122)18.把以下四个表达式用作if语句的控制表达式时,选项____A___与其它三个选项含义不同。
A)k%2 B)k%2==1 C)(k%2)!=0 D)!k%2==119.下列条件语句中,功能与其他语句不同的是_D____。
A) if(a) printf("%d\n",x); else printf("%d\n",y);B) if(a==0) printf("%d\n",y); else printf("%d\n",x);C) if (a!=0) printf("%d\n",x); else printf("%d\n",y);D) if(a==0) printf("%d\n",x); else printf("%d\n",y);20.在嵌套使用if语句时,C语言规定else总是___C_____。
A)和之前与其具有相同缩进位置的if配对B)和之前与其最近的if配对C)和之前与其最近的且不带else的if配对D)和之前的第一个if配对21.以下程序段中与语句k=a>b?(b>c?1:0):0;功能等价的是__D______。
A) if((a>b) &&(b>c) ) k=1; B) if((a>b) ||(b>c) ) k=1;else k=0; else k=0;C) if(a<=b) k=0; D) if(a>b) k=1;else if(b<=c) k=1; else if(b>c) k=1;else k=0;22.已知int i=1,j=0;执行下面语句后j的值是__D__。
while(i)switch(i){case1:i+=1;j++;break;case2:i+=2;j++;break;case3:i+=3;j++;break;default:i--;j++;break;}A)1B)2C)3 D)死循环23.下面的for语句___A___。
for(x=0,y=10;(y>0)&&(x<4);x++,y-- );A)是无限循环B)循环次数不定C)循环执行4次D)循环执行3次24.已知int i=1;执行语句while(i++<4);后,变量i的值为__C__。
A)3B)4C)5D)625.若变量已正确定义,要求程序段完成求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);26.以下程序执行后的输出结果是__D____。
main(){int y=10;while(y--);printf("y=%d\n",y);}A)y=0 B)y=-1C)y=1 D)while构成无限循环27.有以下程序段,为使此程序段不陷入死循环,从键盘输入的数据应该是__D____。
int n,t=1,s=0;scanf("%d",&n);do{ s=s+t; t=t-2; }while (t!=n);A)任意正奇数B)任意负偶数C)任意正偶数D)任意负奇数以下程序执行后的输出结果是_______。
main( ){ int i,s=0;for(i=1;i<10;i+=2) s+=i+1;printf(“%d\n”,s);}28.下述对C语言字符数组的描术中错误的是__D____。
A)字符数组可以存放字符串B)字符数组中的字符串可以整体输入、输出C)可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值D)不可以用关系运算符对字符数组中的字符串进行比较29.若要求定义具有10个int型元素的一维数组a,则以下定义语句中错误的是__D____。
A)#define N 10 B)#define n 5int a[N]int a[2*n]C)int a[5+5]D)int n=10,a[n]30.设有数组定义:char array [ ]="China";则数组array所占的空间为__C____。
A)4字节B)5字节C)6字节D)7字节31.字符数组str赋初值,str不能作为字符串使用的一个是__D_A)char str[]="shanghai";B)char str[]={"shanghai"};C)char str[9]={'s','h','a','n','g','h','a','i'};D)char str[8]={'s','h','a','n','g','h','a','i'};32.已有定义:char a[]="xyz",b[]={'x','y','z'};,以下叙述中正确的是__C____。
A)数组a和b的长度相同B)a数组长度小于b数组长度C)a数组长度大于b数组长度D)上述说法都不对33.下述对C语言字符数组的描术中错误的是__C____。
A)字符数组可以存放字符串B)字符数组中的字符串可以整体输入、输出C)可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值D)不可以用关系运算符对字符数组中的字符串进行比较34.设有数组定义:char array [ ]="China";则数组array所占的空间为__C____。
A)4字节B)5字节C)6字节D)7字节35.已有定义:char a[]="xyz",b[]={'x','y','z'};,以下叙述中正确的是___C___。