2019年秋二级C语言笔试
- 格式:ppt
- 大小:60.05 KB
- 文档页数:34
2019年上海市高等学校计算机等级考试试卷二级 C语言程序设计(本试卷考试时间 120 分钟)一、单选题 ( 本大题 15 道小题,每小题 1 分,共 15 分),从下面题目给出的A、B、C、D四个可供选择的答案中选择一个正确答案。
1. 以下C程序中预处理命令写法正确的是:答案: DA. #include (stdio.h)B. #include [stdio.h]C. #include {stdio.h}D. #include <stdio.h>2. 设有变量定义语句char a; 则下面的赋值语句中 ( ) 是正确的。
答案: AA. a='&';B. a="&";C. a=' ' ';D. a='16' ;3. 设有char ch; 与语句“ch=getchar();”等价的语句是:答案: DA. printf("%c",ch);B. printf("%c",&ch);C. scanf("%c",ch);D. scanf("%c",&ch);4. int a=2, b=5;则表达式21%9/(float)a+4/b*b的运算结果为( )。
答案: CA. 2B. 1C. 1.5D. 05. 能正确表示逻辑关系"a>=10 或 a<=0"的C语言表达式是( )。
答案: CA. a>=10 or a<=0B. a<=0|a>=10C. a<=0||a>=10D. a>=10 && a<=06. 设有int n=60;写出下列语句的运行结果switch (n/10)case 6: printf("@");break;case 5: printf("#");default: printf("$");答案: DA. @#$B. #$C. $D. @7. 设有int i; 以下语句中,循环次数为100次的语句是:答案: DA. for ( i=0; i<=100; i++ )B. for ( i=0; i<99; i++ )C. for ( i=1; i<99; i++ )D. for ( i=0; i<100; i++ )8. C程序中,用于提前结束本次循环、进行下一次循环的语句是( )。
本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!== 本文为word格式,下载后可方便编辑和修改! ==二级c语言笔试答案篇一:二级C语言笔试题汇编及答案全国计算机等级考试二级C语言程序设计习题集校内复习资料第一章 C语言的结构一.单项选择题1.设d为字符变量,下列表达式不正确的是__________。
(A) d=97 (B) d='a'(C) d="a"(D) d='g' 2.C语言的程序一行写不下时,可以________。
A 用逗号换行 B 用分号换号 C 在任意一空格处换行 D 用回车符换行3.在ASCII代码表中可以看到每一个小写字母比它相应的大写字母的ASCII码__________。
(A) 大32(B) 大64(C) 小32 (D) 小14.下列四个叙述中,错误的是________。
A 一个C源程序必须有且只能有一个主函数 B 在C源程序中注释说明必须位于语句之后 C 一个C源程序可以含零个或多个子函数 D C 源程序的基本结构是函数5.一个C程序可以包含任意多个不同名的函数,但有且仅有一个__________。
(A) 过程 (B) 主函数 (C) 函数 (D) include 6.C 语言中,当复合语句多于一条时,要有一对________括起来。
A 方括号 B 圆括号C 花括号 D 尖括号7.__________是C程序的基本构成单位。
(A) 函数 (B) 函数和过程 (C) 超文本过程(D) 子程序 8.C语言程序的基本单位是__________。
(A) 程序行 (B) 语句(C) 函数(D) 字符 9.C语言规定,必须用__________作为主函数名。
(A) function(B) include(C) main (D) stdio10.C语言规定,在一个C程序中,main()函数位置________。
2019年3月全国计算机等级考试二级C语言笔试试卷(考试时间120分钟,满分100分)一、选择题((1)~(10)、(21)~(40)每题2分,(11)~(20)每题1分,70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选择涂写在答题卡相应位置上,答在试卷上不得分。
(1)下列叙述中正确的是A)栈是“先进先出”的线性表B)队列是“先进后出”的线性表C)循环队列是非线性结构D)有序线性表既可以采用顺序存储结构,也可以采用链式存储结构(2)支持子程序调用的数据结构是A)栈B)树C)队列D)二叉树(3)某二叉树有5个度为z的结点,则该二叉树中的叶子结点数是A)10B)8C)6D)4(4)下列排序方法中,最坏情况下比较次数最少的是A)冒泡排序B)简单选择排序C)直接插入排序D)堆排序(5)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。
下面属于应用软件的是A)编译程序B)操作系统C)教务管理系统D)汇编程序(6)下面叙述中错误的是A)软件测试的目的是发现错误并改正错误B)对被调试的程序进行“错误定位”是程序调试的必要步骤C)程序调试通常也称为DebugD)软件测试应严格执行测试计划,排除测试的随意性(7)耦合性和内聚性是对模块独立性度量的两个标准。
下列叙述中正确的是A)提高耦合性降低内聚性有利于提高模块的独立性B)降低耦合性提高内聚性有利于提高模块的独立性C)耦合性是指一个模块内部各个元素间彼此结合的紧密程度D)内聚性是指模块间互相连接的紧密程度(8)数据库应用系统中的核心问题是A)数据库设计B)数据库系统设计C)数据库维护D)数据库管理员培训(9)有两个关系R, S如下:由关系R通过运算得到关系S,则所使用的运算为A)选择B)投影C)插入D)连接(10)将E-R图转换为关系模式时,实体和联系都可以表示为A)属性B)键C)关系D)域(11)以下选项中合法的标识符是A)1_1B)1-1C)_11D)1_ _(12)若函数中有定于语句:int k;,则A)系统将自动给K赋初值0B)这时k中的值无定义C)系统将自动给k赋初值-1D)这时k中无任何值(13)以下选项中,能用作数据常量的是A)o115B)0118C)1.5e1.5D)115L(14)设有定义:int x=2;,以下表达式中,值不为6的是A)x*=x+1B)x++,2*xC)x*=(1+x)D)2*x, x+=2(15)程序段:int x=12; double y=3.141593; printf (“%d%8.6f”, x, y);的输出结果是A)123.141593B)12 3.141593C)12, 3.141593D)123.1415930(16)若有定义语句:double x, y,*px,*pY; 执行了px=&x; py=&y;之后,正确的输入语句是A)scanf(“%f%f”,x,y);B)scanf(“%f%f”,&x,&y);C)scanf(“%lf%le”,px,py);D)scanf(“%lf%lf”,x,y);(17)以下是if语句的基本形式:if(表达式)语句其中“表达式”A)必须是逻辑表达式B)必须是关系表达式C)必须是逻辑表达式或关系表达式D)可以是任意合法的表达式(18)有以下程序#include <stdio.h>main(){ int x;scanf(“%d”,&x);if (x<=3);elseif (x!=10) printf(“ %d\n”,x);}程序运行时,输入的值在哪个范围才会有输出结果A)不等于10的整数B)大于3且不等10的整数C)大于3或等于10的整数D)小于3的整数(19)有以下程序#include <stdio.h>main(){ int a=1,b=2,c=3,d=0;if (a==1&&b++==2)if (b!=2||c--!=3)printf(“%d,%d,%d\n”,a,b, c);else printf(“%d, %d, %d\n”,a,b, c);else printf(“%d, %d,%d\n”,a,b,c);}程序运行后的输出结果是A)1,2,3B)1,3,2C)1,3,3D)3,2,1(20)以下程序段中的变量已正确定义for( i=0; i<4; i++,i++)for( k=l; k<3; k++);printf(“*”);程序段的输出结果是A)********B)****C)**D)*(21)有以下程序#iinclude <stdio.h>main(){ char *s= {“ABC”};do{ printf(“%d”;*s%l0); s++}whi1e(*s);}注意:字母A的ASCII码值为65。
c语言考试题及答案2019计算机二级一、单项选择题(每题2分,共40分)1. C语言中,以下哪个选项是合法的标识符?A. 2variableB. variable2C. variable-2D. variable2+答案:B2. 在C语言中,以下哪个选项是正确的整型常量?A. 0x12B. 0x12.3C. 0x12LD. 0x12.3L答案:A3. 若有定义语句:int a=10; float b=5.5; 则以下哪个表达式是合法的?A. a%bB. a+bC. a/bD. a*b答案:B4. 下列哪个选项不是C语言标准库函数?A. printf()B. scanf()C. strcat()D. strcpy()答案:C5. 在C语言中,以下哪个选项是正确的字符串字面量?A. "Hello, World"B. 'Hello, World'C. "Hello, World\n"D. 'Hello, World\n'答案:A6. 在C语言中,以下哪个选项是正确的数组声明?A. int a[];B. int a[10];C. int a[10] = {1, 2, 3};D. int a = 10;答案:B7. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. !D. &答案:A8. 在C语言中,以下哪个选项是正确的函数声明?A. void myFunction();B. int myFunction();C. void myFunction(int a);D. int myFunction(int);答案:C9. 在C语言中,以下哪个选项是正确的指针声明?A. int *ptr;B. int *ptr = 0;C. int ptr = 0;D. int *ptr = 0x12;答案:A10. 在C语言中,以下哪个选项是正确的结构体声明?A. struct Student {int id;char name[50];};B. struct {int id;char name[50];} Student;C. struct Student {int id;char name;};D. struct {int id;char name[50];} student;答案:A11. 在C语言中,以下哪个选项是正确的枚举类型声明?A. enum Color {RED, GREEN, BLUE};B. enum {RED, GREEN, BLUE};C. enum Color {0, 1, 2};D. enum {RED = 0, GREEN, BLUE};答案:A12. 在C语言中,以下哪个选项是正确的位运算符?A. &B. |C. ^D. ~答案:D13. 在C语言中,以下哪个选项是正确的文件操作函数?A. fopen()B. fclose()C. fread()D. fwrite()答案:A14. 在C语言中,以下哪个选项是正确的宏定义?A. #define PI 3.14159B. define PI 3.14159C. #define PI = 3.14159D. define PI = 3.14159答案:A15. 在C语言中,以下哪个选项是正确的递归函数调用?A. void func() { func(); }B. void func() { if (n > 0) func(n-1); }C. void func() { func(0); }D. void func() { if (n == 0) return; func(n-1); }答案:D20. 在C语言中,以下哪个选项是正确的联合体(Union)声明?A. union Data {int i;float f;char str[20];};B. struct Data {int i;float f;char str[20];};C. union Data {int i;float f;char str[20];} data;D. union {int i;float f;char str[20];};答案:A二、填空题(每题2分,共20分)1. C语言中,字符型数据在内存中以____形式存储。
c语言考试题及答案2019计算机二级一、选择题1.以下关于C语言的描述中,哪一项是错误的?A. C语言是一种面向过程的编程语言。
B. C语言是一种高级语言。
C. C语言开发了一些重要的编程概念,例如指针和结构体。
D. C语言可以直接操作计算机硬件。
答案:B2.在C语言中,下列哪个是合法的标识符?A. 1variableB. _variableC. my-variableD. variable#答案:B3.以下哪个是在C语言中输出字符的函数?A. scanfB. printfC. gets答案:B4.在C语言中,以下哪个是逻辑运算符?A. &B. +C. *D. /答案:A5.以下哪个关键字用于在C语言中定义常量?A. intB. constC. voidD. static答案:B二、填空题1.在C语言中,使用关键字_______可以定义一个整型变量。
答案:int2.在C语言中,使用符号_______表示“取地址”操作。
3.在C语言中,使用符号_______表示“取值”操作。
答案:*4.在C语言中,_______运算符可以用于判断两个值是否相等。
答案:==5.在C语言中,使用关键字_______可以定义一个字符型变量。
答案:char三、编程题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语言程序,找出一个整数数组中的最大值,并将最大值打印出来。
```c#include <stdio.h>int main(){int arr[] = {1, 5, 3, 7, 9, 2};int size = sizeof(arr) / sizeof(arr[0]);int max = arr[0];for (int i = 1; i < size; i++){if (arr[i] > max){max = arr[i];}}printf("最大值为:%d\n", max);return 0;}```四、简答题1.请简要解释一下C语言中的指针的概念。
(完整版)2019二级C语言题库参考答案解析2019年C语言考题答案1、程序填空题给定的程序的功能是调用fun函数建立班级通讯录。
通讯录中记录每位学生的编号、姓名和电话号码班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5。
dat的二进制中.填空:(1)STYPE (2)FILE (3)fp改错: (1) for(i=0;i<=sl;i++) (2) t[2*sl]=’\0'或t[sl+sl]='\0’编程:*c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10);2、程序填空题给定程序的功能是:从键盘输入若干文本(每行不超过80个字符),写到文件myfile4.txt中,用—1作为字符串输出输入的标志。
然后将文件的内容读出显示在屏幕上.文件的读写分别由自定义函数ReadText和Writetext实现。
填空:(1) *fw (2) str (3) str改错:(1) void fun(long s,long *t)(2)s1=s1*10;编程:int i,j=0,min=a[0]。
s;for(i=0;i〈N;i++){if(a[i].s〈min){j=0;b[j++]=a[i];min=a[i].s;}else if(min==a[i].s)b[j++]=a[i];}return j;3、程序填空题给定程序中,函数fun的功能是:讲自然数1~10以及它们的平方根写到名为myfile3。
txt的文本中,然后再按顺序读出显示在屏幕上。
填空:(1)fp(2)fclose(fp)(3)myfile3.txt改错:(1)for(i=j+1;i〈n;i++) (2)p=i;编程:*c=(b%10)*1000+(a%10)*100+(b/10)*10+a/10;4、程序填空题给定程序中,函数fun的功能是:找出形参s所指字符串出现频率最高的字母(不区分大小写),并统计出其出现的次数,例如,形参s所指的字符串为:abcAbsmaxiess,程序执行后的输出结果为:letter 'a':3 timesletter 's’:3 times填空:(1) "r" (2 )fs (3)ft改错:(1) if (d%2==0)(2 ) s/=10;编程:int i = 0, j = 0;while(s[i]){if(i % 2 == 0 && s[i]% 2 == 0)t[j++] = s[i];i++;}t[j] = 0;5、程序填空题给定程序中已经建立一个带有头结点的单向链表,链表中的各结点数据域中的数据递增有序链接,函数fun的功能是:把形参x的值放入一个新结点并插入到链表中,插入后各结点数据域的值仍保持递增有序。
全国计算机等级考试二级C语言笔试真题一、选择题(1)下列关于栈叙述正确的是A)栈顶元素最先能被删除B)栈顶元素最后才能被删除C)栈底元素永远不能被删除 D)以上三种说法都不对(2)下列叙述中正确的是A)有一个以上根结点的数据结构不一定是非线性结构B)只有一个根结点的数据结构不一定是线性结构C)循环链表是非线性结构D)双向链表是非线性结构(3)某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)A)3 B)4 C)6 D)7(4)在软件开发中,需求分析阶段产生的主要文档是A)软件集成测试计划 B)软件详细设计说明书C)用户手册 D)软件需求规格说明书(5)结构化程序所要求的基本结构不包括A)顺序结构 B)GOTO跳转C)选择(分支)结构 D)重复(循环)结构(6)下面描述中错误的是A)系统总体结构图支持软件系统的详细设计B)软件设计是将软件需求转换为软件表示的过程C)数据结构与数据库设计是软件设计的任务之一D)PAD图是软件详细设计的表示工具(7)负责数据库中查询操作的数据库语言是A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言(8)一个教师可讲授多门课程,一门课程可由多个教师讲授。
则实体教师和课程间的联系是A)1:1联系 B)1:m联系C)m:1联系 D)m:n联系(9)有三个关系R、S和T如下:则由关系R和S得到关系T的操作是A)自然连接 B)交 C)除 D)并(10)定义无符号整数类为UInt,下面可以作为类UInt实例化值的是A)-369 B)369 C)0.369 D)整数集合{1,2,3,4,5}(11)计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是A)C语言程序仅可以编译执行B)C语言程序仅可以解释执行C)C语言程序既可以编译执行又可以解释执行D)以上说法都不对(12)以下叙述中错误的是A)C语言的可执行程序是由一系列机器指令构成的B)用C语言编写的源程序不能直接在计算机上运行C)通过编译得到的二进制目标程序需要连接才可以运行D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件(13)以下选项中不能用作C程序合法常量的是A)1,234 B)'\123'C)123 D)"\x7G"(14)以下选项中可用作C程序合法实数的是A).1e0 B)3.0e0.2C)E9 D)9.12E(15)若有定义语句:int a=3,b=2,c=1;,以下选项中错误的赋值表达式是A)a=(b=4)=3; B)a=b=c+1;C)a=(b=4)+c; D)a=1+(b=c=4);(16)有以下程序段char name[20];int num;scanf("name=%s num=%d",name;&num);当执行上述程序段,并从键盘输入:name=Lili num=1001<回车>后,name的值为A)Lili B)name=LiliC)Lili num= D)name=Lili num=1001(17)if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是A)必须是逻辑值 B)必须是整数值C)必须是正数 D)可以是任意合法的数值(18)有以下程序#includemain(){ int x=011;printf("%d\n",++x);}程序运行后的输出结果是A)12 B)11 C)10 D)9(19)有以下程序#include <stdio.h>main(){ int s;scanf("%d",&s);while(s>0){ switch(s){ case 1:printf("%d",s+5);case 2:printf("%d",s+4); break;case 3:printf("%d",s+3);default:printf("%d",s+1);break;}scanf("%d",&s);}}运行时,若输入1 2 3 4 5 0<回车>,则输出结果是A)6566456 B)66656 C)66666 D)6666656(20)有以下程序段int i,n;for(i=0;i<8;i++){ n=rand()%5;switch (n){ case 1:case 3:printf("%d\n",n); break;case 2:case 4:printf("%d\n",n); continue;case 0:exit(0);}printf("%d\n",n);}以下关于程序段执行情况的叙述,正确的是A)for循环语句固定执行8次B)当产生的随机数n为4时结束循环操作C)当产生的随机数n为1和2时不做任何操作D)当产生的随机数n为0时结束程序运行(21)有以下程序#include <stdio.h>main(){ char s[]="012xy\08s34f4w2";int i,n=0;for(i=0;s[i]!=0;i++)if(s[i]>='0'&&s[i]<='9') n++;printf("%d\n",n);}程序运行后的输出结果是A)0 B)3 C)7 D)8(22)若i和k都是int类型变量,有以下for语句for(i=0,k=-1;k=1;k++) printf("*****\n");下面关于语句执行情况的叙述中正确的是A)循环体执行两次B)循环体执行一次C)循环体一次也不执行D)构成无限循环(23)有以下程序#include <stdio.h>main(){ char b,c; int i;b='a'; c='A';for(i=0;i<6;i++){ if(i%2) putchar(i+b);else putchar(i+c);}printf("\n");}程序运行后的输出结果是A)ABCDEF B)AbCdEf C)aBcDeF D)abcdef(24)设有定义:double x[10],*p=x;,以下能给数组x下标为6的元素读入数据的正确语句是A)scanf("%f",&x[6]); B)scanf("%lf",*(x+6));C)scanf("%lf",p+6); D)scanf("%lf",p[6]);(25)有以下程序(说明:字母A的ASCII码值是65)#include <stdio.h>void fun(char *s){ while(*s){ if(*s%2) printf("%c",*s);s++;}}main(){ char a[]="BYTE";fun(a);printf("\n");}程序运行后的输出结果是A)BY B)BT C)YT D) YE(26)有以下程序段#include <stdio.h>main(){ …while( getchar()!='\n');…}以下叙述中正确的是A)此while语句将无限循环B) getchar()不可以出现在while语句的条件表达式中C)当执行此while语句时,只有按回车键程序才能继续执行D)当执行此while语句时,按任意键程序就能继续执行(27)有以下程序#include <stdio.h>main(){ int x=1,y=0;if(!x) y++;else if(x==0)if (x) y+=2;else y+=3;printf("%d\n",y);}程序运行后的输出结果是A)3 B)2 C)1 D) 0(28)若有定义语句:char s[3][10],(*k)[3],*p;,则以下赋值语句正确的是A)p=s; B)p=k; C)p=s[0]; D)k=s;(29)有以下程序#include <stdio.h>void fun(char *c){ while(*c){ if(*c>='a'&&*c<='z') *c=*c-('a'-'A');c++;}}main(){ char s[81];gets(s);fun(s);puts(s);}当执行程序时从键盘上输入Hello Beijing<回车>,则程序的输出结果是A)hello beijing B)Hello BeijingC)HELLO BEIJING D)hELLO Beijing(30)以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。
2019 年3 月全国计算机等级考试二级C 语言真题(考试时间90 分钟,满分100 分)一、选择题1、下列叙述中正确的是:A、循环队列是队列的一种顺序存储结构B、循环队列是队列的一种链式存储结构C、循环队列是非线性结构D、循环队列是一直逻辑结构2、下列叙述中正确的是A、栈是一种先进先出的线性表B、队列是一种后进先出的线性表C、栈和队列都是非线性结构D、以上三种说法都不对3、一棵二叉树共有25 个节点,其中5 个时子节点,那么度为1 的节点数为A、4B、6C、10D、164、在下列模式中,能够给出数据库物理存储结构与物理存取方法的是A、内模式B、外模式C、概念模式D、逻辑模式5、在满足实体完整性约束的条件下A、一个关系中可以没有候选关键词B、一个关系中只能有一个候选关键词C、一个关系中必须有多个候选关键词D、一个关系中应该有一个或者多个候选关键词6、有三个关系R、S 和T 如下:则由关系R 和S 得到关系T 的操作是A、自然连接B、并C、差D、交7、软件生命周期中的活动不包括A、软件维护B、市场调研C、软件测试D、需求分析8、下面不属于需求分析阶段任务的是A、确定软件系统的功能需求B、确定软件系统的系统的系能需求B、制定软件集成测试计划D、需求规格说明书审评9、在黑盒测试方式中,设计测试用例的主要根据是A、程序外部功能B、程序内部逻辑C、程序数据结构D、程序流程图10、在软件设计中不使用的工具是A、系统结构图B、程序流程图C、PAD 图D、数据流图(DFD 图)211、针对简单程序设计,以下叙述的实施步骤正确的是A、确定算法和数据结构、编码、调试、整理文档B、编码、确定算法和数据结构、调试、整理文档C、整理文档、确定算法和数据结构、编码、调试D、确定算法和数据结构、调试、编码、整理文档12、关于C 语言中数的表示,以下叙述正确的是A、只有整型数在允许范围内能精确无误的表示,实型数会有误差B、只要在在允许范围内整型和实型都能精确表示C、只有实型数在允许范围内能精确无误的表示,整型数会有误差D、只有八进制表示的数在不会有误差13、以下关于算法叙述错误的是A、算法可以用伪代码、流程图等多种形式来描述B、一个正确的算法必须有输入C、一个正确的算法必须有输出D、用流程图可以描述的算法可以用任何一种计算机高级语言编写成程序代码14、以下叙述错误的是A、一个C 程序可以包含多个不同名的函数B、一个C 程序只能有一个主函数C、C 程序在书写时,有严格的缩进要求,否则不能编译通过D、C 程序的主函数必须用main 作为函数名15、设有以下语句Char ch1,ch2, scanf(”%c%c”,&ch1,&ch2).若要为变量ch1 和ch2 分别输入字符A 和B,正确的输入形式应该是A、A 和B 之间用逗号间隔B、A 和B 之间不能有任何间隔符C、A 和B 之间可以用回车间隔D、A 和B 之间用空格间隔16、以下选项中非法的字符常量是A、’\102’B、’\65’C、’\xff’D、’\019’17、有以下程序#include <sthio.h>Main()Int A=0,B=0,C=0.C=(A=A5).(A=B,B+=4).Printf(“%d, %d, %d\n”,A,B,C)程序运行后输出的结果是A 0,4,5B 4,4,5C 4,4,4D 0,0,018、设变量均已正确定义并且赋值,以下与其他三组输出结构不同的一组语句是A、x++. printf((“%d\n”,x).B、n=++x. printf((“%d\n”,n).C、++x. printf((“%d\n”,x).D、n=x++. printf((“%d\n”,n).19、以下选项中,能表示逻辑值“假”的是A 1B 0.000001C 0D 100.020、有以下程序#include <sthio.h>3Main(){ int a;Scanf(“%d”,&a).If(a++<9) printf((“%d\n”,a).Else printf((“%d\n”,a)程序运行时键盘输入9<回车>,则输出的结构是A、10 B 11 C 9 D 821、有以下程序#include <sthio.h>Main(){int s=0,n.For (n=0.n<3.n<++){switch(s){ case 0.Case 1.s+=1.Case 2.s+=2.break.Case 3.s+3.Case 4.s+=4.printf((“%d\n”,s).程序运行后的结果是A 1,2,4B 1,3,6C 3,10,14D 3,6,1022、若k 是int 类型变量,且有以下for 语句For(k=1;k<0.k++)printf(****\n”).下面关于语句执行情况的叙述中正确的是A、循环体执行一次B、循环体执行两次C、循环体一次也不执行D、构成无限循环23、有以下程序#include <sthio.h>Main(){char A,B,C.B=’1’.C=’A’For(A=0.A<6.A++){if(A%2) putchar(B+A).Else putchar(C+A);程序运行后输出的结果是A 1B3D5FB ABCDFEC A2C4E6D 12345624、设有如下定义语句Int m[ ]={2,4,6,8},*k=m.4以下选项中,表达式的值为 6 的是A *(k+2)B k+2C *k+2D *k+=225、fun 函数的功能是:通过键盘输入给x 所指的整型数组所有元素赋值。
2019年计算机二级考试C语言测试题及答案(3) 1.#include "stdio.h"main(){char c;c=getchar();while(c!='?') {putchar(c);c=getchar(); }}如果从键盘输入abcde?fgh(回车)运行结果为:abcde2.#includemain(){ char c;while((c=getchar())!=’$’){ if(‘A’=10)break;y=y+x;}printf(“%d %d”,y,x);}运行结果为:10 5详见教材p120for语句详见教材p126~128break,continue语句for( 表达式1;表达式2;表达式3){}(1) 先求解表达式1(2) 求解表达式2,若其值为真,执行循环体,然后执行 (3). 若为假,则结束循环,转到(5)(3) 求解表达式3(4) 转回上面 (2)继续执行(5) 循环结束,执行for语句下面的一个语句break ,跳出循环体;continue,结束本次循环(第i次循环),继续执行下一次循环(第i+1次循环)此题表达式1为x=1,表达式2(循环条件)为x0;y- -)if(y%3==0){ printf(%d”,- -y);}}运行结果为:852详见教材p53,自增自减符号此题表达式1被省略,表达式2(循环条件)为y>0,表达式3为y--初值y为9,循环条件(即表达式2)y>0成立,进入循环体第1次循环执行if语句。
9%3==0,if语句的条件表达式成立,执行printf(%d”,- -y),即y先自减1变为8,然后在输出,所以屏幕上输出8转向表达式3,执行y--,y=y-1=8-1=7。
循环条件y>0成立,进入第2次循环第2次循环执行if语句。
7%3不为0,if语句的条件表达式不成立,不执行printf(%d”,- -y)转向表达式3,执行y--,y=y-1=7-1=6。
计算机二级c语言2019笔试题及答案一、选择题(每题2分,共20分)1. 在C语言中,下列哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项是C语言中合法的变量名?A. 2variableB. variable2C. variable_2D. variable$2答案:C3. 在C语言中,下列哪个函数用于将字符串复制到另一个字符串?A. strcpyB. strcatC. strncpyD. strncat答案:A4. 下列哪个选项是C语言中正确的注释方式?A. /* This is a comment */B. // This is a commentC. //* This is a commentD. /* This is a comment */5. C语言中,while循环的语法结构是:A. while(expression) statementB. do statement while(expression);C. for(expression; statement; expression)D. if(expression) statement答案:A6. 在C语言中,下列哪个选项是正确的文件打开模式?A. "r"B. "w"C. "a"D. 以上都是答案:D7. 下列哪个选项是C语言中用于定义一个整型数组的语法?A. int array[10];B. int array[];C. int array[10]={0};D. 以上都是答案:D8. 在C语言中,下列哪个函数用于将浮点数转换为字符串?A. sprintfB. sscanfC. atoiD. atof答案:A9. 在C语言中,下列哪个关键字用于定义一个指针?B. floatC. charD. *答案:D10. 下列哪个选项是C语言中正确的函数定义?A. int function(int x, int y) { return x + y; }B. int function(int x, int y) { return x - y; }C. int function(int x, int y) { return x * y; }D. 以上都是答案:D二、填空题(每题2分,共20分)1. 在C语言中,使用____关键字可以定义一个宏。