2018年9月计算机二级C语言考试章节习题及答案(5)
2018计算机二级C语言考试真题汇总

模拟卷 11[ 填空题]下列给定程序中,函数 fun 的功能是:在形参 S 所指字符串中寻找与参数 C相同的字符,并在其后插入一个与之相同的字符,若找不到相同的字符则不做任何处理。
例如,若 s 所指字符串为“ baacda”, c 中的字符为 a,执行后 S 所指字符串为“ baaaacdaa ”。
请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!试题程序:参考解析:【参考答案】【解题思路】填空 1:for语句循环条件是判断是否到达字符串结尾,即当前字符是否为‘\0 ’。
填空 2:while语句用以确定字符串的长度,所以变量n 赋初值为 0。
填空 3:题目要求如果找到与参数 c 相同的字符,就在后面插入一个相同的字符,且找到后应该给数组元素赋值,本题目给出参数为 c。
二、程序修改题2[ 简答题]下列给定程序中函数 fun 的功能是:逐个比较 p、q 所指两个字符串对应位置上的字符,并把 ASCII 值大或相等的字符依次存放到 c 所指的数组中,形成一个新的字符串。
例如,若主函数中 a 字符串为“aBCDeFgH”,b 字符串为 "Abcd" ,则 c 中的字符串应为“aBcdeFgH”。
请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODl1.C中,不得增行或删行,也不得更改程序的结构!参考解析:【参考答案】(1)int k=0;(2)while(*p||*q)【考点分析】本题考查:变量初始化,需根据题意确定变量含义,然后对其进行初始化操作;while循环语句。
【解题思路】(1) 变量 k 存放数组 e 的下标,因此应初始化为0。
(2)while循环语句的循环条件是判断两个字符串是否到达结尾。
三.程序设计题3[ 简答题]规定输入的字符串中只包含字母和* 号。
请编写函数fun ,其功能是:将字符串尾部的* 号全部删除,前面和中间的 * 号不动。
2018年9月计算机二级C语言考试章节习题及答案(5)

2018年9月计算机二级C语言考试章节习题及答案(5) 第2章 C程序设计的初步知识2.2 标识符、常量和变量1[单选题] C语言主要是借助以下哪个功能来实现程序模块化A.定义函数B.定义常量和外部变量C.三种基本结构语句D.丰富的数据类型参考答案:A参考解析:C语言用函数实现软件的模块化设计。
2[单选题] 以下叙述中错误的是A.非零的数值型常量有正值和负值的区分B.常量是在程序运行过程中值不能被改变的量C.定义符号常量必须用类型名来设定常量的类型D.用符号名表示的常量叫符号常量参考答案:C参考解析:C语言中,常常用一个标识符来代表一个常量,称为符号常量。
符号常量在使用之前要先定义,定义格式如下: #define<符号常量名>(常量) 其中,<符号常量名)用标识符,习惯上用大写字母,<常量>可以是数字常量,也可以是字符3[单选题] C语言中char 类型数据占字节数为A.3B.4C.1D.2参考答案:C参考解析:C语言中char 类型数据占字节数为1.4[单选题] 下列叙述中正确的是A.可以用关系运算符比较字符串的大小B.空字符串不占用内存,其内存空间大小是0C.两个连续的单引号是合法的字符常量D.两个连续的双引号是合法的字符串常量参考答案:D参考解析:两个连续的双引号:"",是一个字符串常量,称为“空串”5[单选题] 有以下程序(strcpy 为字符串复制函数,strcat 为字符串连接函数)#include#includemain(){ char a[10]="abc",b[10]="012",c[10]="xyz";strcpy(a+1,b+2);puts(strcat(a,c+1));}程序运行后的输出结果是A.a12xyzB.12yzC.a2yzD.bc2yz参考答案:C参考解析:程序执行后strcpy(a+1,b+2)后,字符数组a 的值为“a2”,再进行字符串的连接strcat(a,c+1),此时字符数组a 的值为“a2yz”。
全国计算机二级《C语言》考试题库与答案

全国计算机二级《C语言》考试题库与答案全国计算机二级《C语言》考试题库与答案在学习、工作中,我们都离不开试题,借助试题可以检验考试者是否已经具备获得某种资格的基本能力。
什么样的试题才能有效帮助到我们呢?以下是店铺为大家收集的全国计算机二级《C语言》考试题库与答案,欢迎大家分享。
全国计算机二级《C语言》考试题库与答案篇1(1)下列关于栈叙述正确的是( )。
A.栈顶元素最先能被删除B.栈顶元素最后才能被删除C.栈底元素永远不能被删除D.栈底元素最先被删除(2)下列叙述中正确的是( )。
A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D.以上说法都不正确某二叉树共有7个结点,其中叶子结点只有l个,则该二叉树的深度为(假设根结点在第1层)( )。
A.3B.4C.6D.7软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。
下面属于应用软件的是( ):A.学生成绩管理系统B.c语言编译程序C.UNIX操作系统D.数据库管理系统(5)结构化程序所要求的基本结构不包括( )。
A.顺序结构B.GOT0跳转C.选择(分支)结构D.重复(循环)结构(6)下面描述中错误的是( )。
A.系统总体结构图支持软件系统的详细设计B.软件设计是将软件需求转换为软件表示的过程C.数据结构与数据库设计是软件设计的任务之一D.PAD图是软件详细设计的表示工具(7)负责数据库中查询操作的数据库语言是( )。
A.数据定义语言B.数据管理语言C.数据操纵语言D.数据控制语言一个教师可讲授多门课程,一门课程可由多个教师讲授。
则实体教师和课程间的联系是( )。
A.1:1联系B.1:m联系C.m:1联系D.m:n联系(9)已知大写字母A的ASCIl码值是65,小写字母a的ASCIl码值是97。
以下不能将变量C中的大写字母转换为对应小写字母的语句是( )。
计算机二级c语言考试题库及答案

计算机二级c语言考试题库及答案在计算机二级考试的题库中,有哪些与c语言相关的题目呢?下面是店铺给大家整理的计算机二级c语言考试题库及答案,供大家参阅!计算机二级c语言考试题库一、单选题1). 若变量x、y已正确定义并赋值,以下符合C语言语法的表达式是( )A.++x,y=x--B.x+1=yC.x=x+10=x+yD.double(x)/102). 下列叙述中正确的是( )A.一个算法的空间复杂度大,则其时间复杂度也必定大B.一个算法的空间复杂度大,则其时间复杂度必定小C.一个算法的时间复杂度大,则其空间复杂度必定小D.算法的时间复杂度与空间复杂度没有直接关系3). 待排序的关键码序列为(15,20,9,30,67.65,45,90),要按关键码值递增的顺序排序,采取简单选择排序法,第一趟排序后关键码15被放到第( )个位置。
A.2B.3C.4D.54). 以下结构体类型说明和变量定义中正确的是( )A.typedef struct { int n; char c; } REC; REC t1,t2;B.struct REC ; { int n; char c; }; REC t1,t2;C.typedef struct REC; { int n=0; char c=′A′; } t1,t2;D.struct { int n; char c; } REC; REC t1,t2;二、程序填空题函数fun的功能是:输出a所指数组中的前n个数据,要求每行输出5个数。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANKl.C中。
不得增行或删行,也不得更改程序的结构!三、程序设计题请编写函数fun,函数的功能是查找X在s所指数组中下标的位置,并作为函数值返回,若x不存在,则返回-l。
注意:部分源程序在文件PROG1.C文件中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
国家二级计算机考试c语言试题及答案

国家二级计算机考试c语言试题及答案国家二级计算机考试C语言试题及答案一、选择题(本大题共10小题,每小题2分,共20分。
每小题只有一个正确答案。
)1. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. returnD. function答案:A2. 下列哪个选项是合法的C语言变量名?A. 2variableB. variable2C. variable2!D. _variable2答案:D3. C语言中,用于表示逻辑“与”的运算符是?A. &&B. ||C. !D. =答案:A4. 在C语言中,哪个函数用于将字符串复制到另一个字符串?A. strcpyB. strcatC. strcmpD. strlen答案:A5. 下列哪个选项是正确的C语言注释?A. // This is a single line commentB. /* This is a single line comment */C. // This is a multi-line commentD. /* This is a multi-line comment */答案:A6. 在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};答案:A7. C语言中,用于计算两个整数相加的函数是?A. strcatB. strcmpC. strcpyD. sum答案:D(注:sum不是C语言标准库函数,此处假设为自定义函数)8. 下列哪个选项是C语言中的合法常量?A. 0x1AB. 1.23e5C. 123.45D. All of the above答案:D9. C语言中,用于定义一个结构体的关键字是?A. structB. unionC. enumD. typedef答案:A10. 在C语言中,哪个关键字用于声明一个指针?A. intB. charC. floatD. *答案:D二、填空题(本大题共5小题,每小题2分,共10分。
2018二级c考试模拟试题及答案

2018二级c考试模拟试题及答案在准备2018年二级C语言考试的过程中,模拟试题的练习是必不可少的环节。
以下是一套模拟试题及答案,帮助考生检验自己的学习成果。
1. 以下哪个选项是C语言中的关键字?A. autoB. defineC. includeD. none of the above答案:A2. C语言中,哪个函数用于计算并返回字符串的长度?A. strlen()B. length()C. size()D. none of the above答案:A3. 在C语言中,以下哪个选项是合法的变量名?A. 2variableB. variable2C. variable-nameD. none of the above答案:B4. 如果int a=5; 那么表达式a++的值是多少?A. 5B. 6C. 4D. none of the above答案:A5. C语言中,以下哪个选项是正确的注释方式?A. // This is a commentB. /* This is a comment */C. both A and BD. none of the above答案:C6. 在C语言中,哪个关键字用于定义一个函数?A. functionB. defC. defineD. none of the above答案:D7. 下面哪个选项是C语言中的逻辑运算符?A. &&B. ||C. both A and BD. none of the above答案:C8. 在C语言中,以下哪个选项是正确的数组声明方式?A. int array[5] = {1, 2, 3, 4, 5};B. int array[] = {1, 2, 3, 4, 5};C. both A and BD. none of the above答案:C9. 在C语言中,以下哪个选项是正确的结构体声明方式?A. struct Student { int id; char name[50]; };B. struct { int id; char name[50]; } Student;C. both A and BD. none of the above答案:C10. 在C语言中,哪个函数用于将字符串复制到另一个字符串?A. strcpy()B. strncpy()C. both A and BD. none of the above答案:A11. 在C语言中,以下哪个选项是正确的指针声明方式?A. int *ptr;B. int ptr*;C. both A and BD. none of the above答案:A12. 在C语言中,哪个关键字用于定义一个宏?A. defineB. macroC. both A and BD. none of the above答案:A13. 在C语言中,以下哪个选项是正确的枚举声明方式?A. enum Color {Red, Green, Blue};B. enum {Red, Green, Blue} Color;C. both A and BD. none of the above答案:C14. 在C语言中,哪个函数用于打开一个文件?A. fopen()B. open()C. both A and BD. none of the above答案:A15. 在C语言中,以下哪个选项是正确的文件操作函数?A. fprintf()B. fscanf()C. both A and BD. none of the above答案:C通过这些模拟试题的练习,考生可以更好地掌握C语言的基础知识和编程技巧,为即将到来的考试做好准备。
2018年国家计算机二级C语言笔试真题及答案解析

2018年国家计算机二级C语言笔试真题及答案解析#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,3 B)1,3,2 C)1,3,3 D)3,2,1(20)以下程序中的变量已正确定义for(i=0;i<4;i++,i++for(k=1;k<3;k++);printf(*”); 程序段的输出结果是A)******** B)**** C)** D)*(21)有以下程序#include<stdio.h>main(){char*s=(“ABC);do{printf(“%d”,*s%10);s++;}while(*s);} 注意,字母A的ASCII码值为65。
程序运行后的输出结果是A)5670 B)656667 C)567 D)ABC(22)设变量已正确定义,以下不能统计出一行中输入字符个数(不包含回车符)的程序段是A)n=0;while((ch=getchar())!=’\n’)n++; B) n=0;while(getchar()!=’\n’)n++; C)for(n=0; getchar()!=’\n’;n++); D)n=0;for(ch=getchar();ch!=’\n’;n++);(23)有以下程序#include<stdio.h>main(){ int a1,a2;char c1,c2;scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);printf(“%d,%c,%d,%c”,&1,c1,a2,c2);}若想通过键盘输入,使得a1的值为12,a2的是为34,c1的值为字符a,c2的值为字符b,程序输出结果是:12,a,34,b,则正确的输入格式是(以下代表空格,<CR>代表回车)A)12a34b<CR> C)12,a,34,b<CR>B)12 D)12a a3434 b<CR>b<CR>24)有以下程序#include<stdio.h>int f(int x,int y){return()y-x)*x);}main(){int a=3,b=4,c=5,d;d=f(f(a,b),f(a,c));printf(“%d\n”,d);} 程序运行后的输出结果是A)10 B)9 C)8 D)7#include<stdio.h>void fun(char*s){while(*s){ if(*s%2==0)printf(“%c”,*s);s++;}}main(){ chara[]={“good”};fun(a);printf(“\n”);}注意:字母a的ASCⅡ码值为97,程序运行后的输出结果是A)d B)go C)god D)good(26)有以下程序#include <stdio.h>void fun( int *a,int *b){int *c;c=a;a=b;b=c;}main(){int x=3,y-5,*P=&x,*q=&y;fun(p,q);printf(“%d,%d,”,*p,*q);fun(&x,&y);printf(“%d,%d\n”,*p,*q);} 程序运行后的输出结果是A)3,5,5,3 B)3,5,3,5 C)5,3,3,5 D)5,3,5,3(27)有以下程序#include <stdio.h>viod f(int *p,int *q);main(){ int m=1,n=2,*r=&m;f(r,&n);printf(“%d,%d”,m,n);}void f(int *p,int *q){p=p+1;*q=*q+1;}程序运行后输出的结果是A)1,3 B)2,3 C)1,4 D)1,2(28)以下函数按每行8个输出数组中的数据void fun( int *w,int n){ int i;for(i=0;i<n;i++){_________________printf(“%d”,w);}printf(“\n”);} 下划线处应填入的语句是A)if(i/8==0)print(“\n”); B) if(i/8==0)continue;C) if(i%8==0)print(“\n”); D) if(i%8==0)continue;(29)若有以下定义 int x[10],*pt=x; 则对x数组元素的正确应用是A)*&x[10] B)*(x+3) C)*(pt+10) D)pt+330)设有定义:char s[81];int i=10;,以下不能将一行(不超过80个字符)带有空格的字符串真确读入的语句或语句组是A) gets(s) B)while((s[i++]=getchar())!=”\n”;s=”\0”;C)scanf(“%s”,s); D)do{scanf(“%c”,&s);}while(s[i++]!=”\n”);s=”\0”;(31)有以下程序#include <stdio.h>main(){ char *a[ ]={“abcd”,”ef”,”gh”,”ijk”};int I;for(i=0;i<4;i++)printf(“%c”,*a);} 程序运行后输出的结果是A)aegi B)dfhk C)abcd D)abcdefghijk32)以下选项中正确的语句组是A)char s[];s=”BOOK!”; B) char *s;s={”BOOK!”}; C)char s[10];s=”BOOK!”; D) char *s;s=”BOOK!”;#include <stdio.h>int fun{int x,int y}{ if(x==y) return(x);else returen((x+y)/2)}main(){ int a=4,b=5,c=6;printf(“%d\n”,fun(2*a,fun(b,c)))} 程序运行后的输出结果是A)3 B)6 C)8 D)12(34)设函数中有整型变量n,为保证其在未赋值的情况下初值为0,应选择的存储类别是A)auto B) register C)static D)auto或register(35)有以下程序#include <stdio.h>int b=2;int fun(int *k){ b=*k+b;return(b);}main(){ int a[10]={1,2,3,4,5,6,7,8},I;for(i=2;i<4;i++) {b=fun(&a)+b;printf(“%d”,b);}printf(“\n”);}程序运行后输出的结果是A)10 B)8 C)10 D)1012 10 28 1636)有以下程序#include <stdio.h>#define PT 3.5;#define S(x) PT*x*x;mian(){ int a=1, b=2; printf(“%4.1f\n”,S(a+b));}程序运行后输出的结果是A)14.0 B)31.5 C)7.5 D)程序有错无输出结果37)有以下程序#include <stdio.h>struct ord{ int x,y;} dt[2]={1,2,3,4};main(){ struct ord *p=dt;printf(“%d,”,++p->x); printf(“%d\n”,++p->y);}程序的运行结果是A)1,2 B)2,3 C)3,4 D)4,138)设有宏定义:#includeIsDIV(k,n)((k%n==1)?1:0且变量m已正确定义并赋值,则宏调用:IsDIV(m,5)&& IsDIV(m,7)为真时所要表达的是 A)判断m是否能被5或者7整除 B)判断m是否能被5和7整除C)判断m被5或者7整除是否余1 D)判断m被5和7整除是否余1(39)有以下程序#include <stdio.h>main(){ int a=5,b=1,t;t=(a<<2|b); printf(“%d\n”,t)}程序运行后的输出结果是 A)21 B)11 C)6 D)1 (40)有以下程序#include <stdio.h>main(){ EILE *f;f=fopen(“filea.txt”,”w”);fprintf(f,”abc”);fclose(f);} 若文本文件filea.txt中原有内容为:hello,则运行以上程序后,文件filea.txt中的内容为A) helloabc B)abclo C)abc D)abchello二、填空题(每空2分,共30分)(1)假设一个长度为50的数组(数组元素的下标从0到49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有【1】个元素。
2018年C语言二级考试及答案

2018年C语言二级考试及答案一、选择题1. 下列关于C语言中变量的描述,错误的是:A. 变量必须先声明后使用B. 变量的声明可以放在程序的任何位置C. 变量的类型决定了它所占用的内存大小D. 变量的声明必须在函数的开始处完成答案:B2. 在C语言中,以下哪个选项不是合法的标识符?A. _sumB. sum$C. 2valueD. sum答案:C3. C语言中,以下哪个选项是正确的字符串定义方式?A. char str[5] = "Hello";B. char str[] = "Hello";C. char str[6] = "Hello";D. char str = "Hello";答案:B4. 关于C语言中的数组,以下哪个说法是错误的?A. 数组名代表数组的首地址B. 数组的大小在定义后不能改变C. 数组的元素可以是不同类型的D. 数组的下标从0开始答案:C5. 在C语言中,以下哪个选项是正确的函数定义?A. int add(int a, int b);B. int add();C. int add(int a, int b) {}D. int add(int a, int b) { return a + b; }答案:D二、填空题1. 在C语言中,使用____关键字可以定义一个整型变量。
答案:int2. 字符串"Hello"在内存中所占的字节数是____。
答案:63. 若定义一个二维数组int arr[3][4],则该数组的元素总数为____。
答案:124. 在C语言中,使用____运算符可以实现逻辑与操作。
答案:&&5. 若变量a的值为5,b的值为10,则表达式a++ + b的值为____。
答案:15三、编程题1. 编写一个C语言程序,实现计算并输出两个整数的和。
```c#include <stdio.h>int main() {int a, b, sum;printf("请输入两个整数:");scanf("%d %d", &a, &b);sum = a + b;printf("两数之和为:%d\n", sum);return 0;}```2. 编写一个C语言程序,实现判断输入的年份是否为闰年,并输出结果。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2018年9月计算机二级C语言考试章节习题及答案(5) 第2章 C程序设计的初步知识
2.2 标识符、常量和变量
1[单选题] C语言主要是借助以下哪个功能来实现程序模块化
A.定义函数
B.定义常量和外部变量
C.三种基本结构语句
D.丰富的数据类型
参考答案:A
参考解析:C语言用函数实现软件的模块化设计。
2[单选题] 以下叙述中错误的是
A.非零的数值型常量有正值和负值的区分
B.常量是在程序运行过程中值不能被改变的量
C.定义符号常量必须用类型名来设定常量的类型
D.用符号名表示的常量叫符号常量
参考答案:C
参考解析:C语言中,常常用一个标识符来代表一个常量,称为符号常量。
符号常量在使用之前要先定义,定义格式如下: #define<符号常量名>(常量) 其中,<符号常量名)用标识符,习惯上用大写字母,<常量>可以是数字常量,也可以是字符
3[单选题] C语言中char 类型数据占字节数为
A.3
B.4
C.1
D.2
参考答案:C
参考解析:C语言中char 类型数据占字节数为1.
4[单选题] 下列叙述中正确的是
A.可以用关系运算符比较字符串的大小
B.空字符串不占用内存,其内存空间大小是0
C.两个连续的单引号是合法的字符常量
D.两个连续的双引号是合法的字符串常量
参考答案:D
参考解析:两个连续的双引号:"",是一个字符串常量,称为“空串”
5[单选题] 有以下程序(strcpy 为字符串复制函数,strcat 为字符串连接函数)
#include
#include
main()
{ char a[10]="abc",b[10]="012",c[10]="xyz";
strcpy(a+1,b+2);
puts(strcat(a,c+1));
}
程序运行后的输出结果是
A.a12xyz
B.12yz
C.a2yz
D.bc2yz
参考答案:C
参考解析:程序执行后strcpy(a+1,b+2)后,字符数组a 的值为“a2”,再进行字符串的连接strcat(a,c+1),此时字符数组a 的值为“a2yz”。
strcpy(a+1,b+2);//把b数组的第3个元素开始到NULL出现为止的字符串复制给a数组第2个元素开始的内存空间
puts(strcat(a,c+1));//打印字符串,该字符串为a数组中的字符串和c数组第2个元素开始的字符串,
strcat()的意义为把c数组第2个元素开始的字符串添加到a数组的结尾。
6[单选题] 以下选项中,合法的是
A.char str3[]={'d', 'e', 'b', 'u', 'g', '\0'};
B.char str4; str4="hello world";
C.char name[10]; name="china";
D.char str1[5]= "pass",str2[6]; str2=str1;
参考答案:A
参考解析:选项A)是定义了字符数组str3[],并对其赋初值。
7[单选题] 下列可用于C语言用户标识符的一组是( )。
A.void,define,WORD
B.a3_3,_123,Car
C.For,-abc,IF Case
D.2a,DO,sizeof
参考答案:B
参考解析:c语言规定标识符只能由字母、数字和下划线3种字符组成,且第一个字符必须为字母或下划线,排除选项C)和D);C语言中还规定标识符不能为C语言的关键字,而选项A)中void为关键字,故排除选项A)。
8[单选题] 以下符合c语言语法的实型常量是( )。
A.8E一2
B.3)14)159E
C.E14
D.2)2E0)5
参考答案:A
参考解析:实型常量又称为实数或浮点数,在c语言中可以表示为小数形式和指数形式。
其中用”e或E+整数”表示以10为底的幂,字母e或E之前必须有数字,后面必须是整数。
因此正确答案为选项A)。
9[单选题] 下列是用户自定义标识符的是( )。
A._wl
B.3_xy
C.int
D.LINE-3
参考答案:A
参考解析:c语言规定用户标识符由英文字母、数字和下划线组成,且第一个字符必须是字母或下划线,由此可见选项S),D)是错的;此外,C语言不允许用户将关键字作为标识符,而选项c)中的int是c语言的关键字。
10[单选题] 执行以下程序时输人1234567,则输出结果是( )。
#include
main()
{
int a =1,b;
scanf("=-",&a,&b);
printf("%d%d\n",a,b);
}
A.12367
B.12346
C.12312
D.12345
参考答案:D
参考解析:scanf函数中的格式控制说明为”%3d%2d”,分别选中输人中的三位和两位,因此a=123,b=45。
因此正确答案为D)选项。
11[单选题] 以下选项中,不能作为合法常量的是( )。
A.1.234e05
B.1.234e+5
C.1.234e0.5
D.1.234e0
参考答案:C
参考解析:C语言的语法规定,字母e(E)之前必须有数字,且e(E)后面的指数必须是整数,而选项c)中,e(E)后面的指数是小数,所以不合法。
12[单选题] 以下选项中合法的标识符是( )。
A.1_2
B._12
C.2_1
D.12__
参考答案:B
参考解析:标识符命名规则:标识符必须由字母(a~z或A~z)或下划线(_)开头;标识符的其他部分可以用字母、下划线或数字(0~9)组成;大小写字母表示不同意义,如cout和Cout
代表不同的标识符;在定义标识符时,虽然语法上允许用下划线开头,但是,最好避免定义用下划线开头的标识符,因为编译器常常定义一些下划线开头的标识符。
因此,本题正确答案为B)。
13[单选题] 以下选项中不属于c语言的类型的是( )。
A.unsigned long int
B.long short
C.unsigned int
D.signed short int
参考答案:B
参考解析:c语言中整型变量分为4种,基本型int,短整型short int,长整型long int 和无符号型(unsigned int、un-signed short、unsigned long)。
因此B)选项不属于c语言的类型。
14[单选题] 以下可用作C语言用户标识符的是( )
A.void,define,WORD
B.a3_b3,_123,IF
C.FOR,- -abc,Case
D.2a,Do,Sizeof
参考答案:B。
参考解析:C语言规定用户标识符由字母、数字和下划线组成,且第一个字符必须是字母或下划线,可见选项C),D)是错误的;此外,c语言不允许用户将关键字作为标识符,而选项A)中的void正是C语言的关键字。
15[单选题] 以下4个选项中,不能看作一条语句的是( )。
A.;
B.a=5,b=2.5,c=3.6;
C.if(b!=5)x=2;y=6;
D.return j;
参考答案:C
参考解析:c语言规定每个语句以;(分号)结束,因此选项c)为两条语句。
16[单选题] 当用“#define F 37.5f”定义后,下列叙述正确的是( )。
A.F是float型数
B.F是Char型数
C.F无类型
D.F是字符串
参考答案:D
参考解析:字符替换定义格式为:#define标识符(形参表)形参表达式。
题中F是代表形参表达式的标识符(字符串)。
17[单选题] 以下叙述中正确的是( )。
A.C程序中注释部分只能放在程序最后
A.s=67
B.s=61
C.S=63
D.S=56
参考答案:B
参考解析:变量x是静态变量,P是全局变量,因此sum函数调用结束时,x、P的值保留,下一次函数调用时继续使用。
y和k都是局部变量,调用结束后释放空间,值不再保留。
程序执行过程中,s的值为l、6、13、22、33、46、61。
所以输出61。