历年全国计算机二级C语言题库

50道C语言知识题1.以下叙述中正确的是A)用C程序实现的算法必须要有输入和输出操作B)用C程序实现的算法可以没有输出但必须要有输入C)用C程序实现的算法可以没有输入但必须要有输出D)用C程序实现的算法可以既没有输入也没有输出2.下列可用于C语言用户标识符的一组是A)void, define, WORD B)a3_3,_123,CarC)For, -abc, IF Case D)2a, DO, sizeof3.以下选项中可作为C语言合法常量的是A)-80 B)-080 C)-8e1.0 D)-80.0e4.若有语句:char *line[5];,以下叙述中正确的是A) 定义line是一个数组,每个数组元素是一个基类型为char为指针变量B) 定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组C) 定义line是一个指针数组,语句中的*号称为间址运算符D) 定义line是一个指向字符型函数的指针5.以下定义语句中正确的是A)int a=b=0; B)char A=65+1,b=′b′;C)float a=1,*b=&a,*c=&b; D)double a=00;b=1.1;6.有以下程序段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=127.有以下程序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)918.当变量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)9.若变量已正确定义,有以下程序段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,710.有以下程序#include <stdio.h>main(){ 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=111.下列程序的输出结果是#include "stdio.h"main(){ int i,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已知#int t=0;while (t=1){...}则以下叙述正确的是A)循环控制表达式的值为0B)循环控制表达式的值为1C)循环控制表达式不合法D)以上说法都不对12.下面程序的输出结果是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)213.以下错误的定义语句是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};14.有以下程序void ss(char *s,char t){ while(*s){ if(*s==t)*s=t-′a′+′A′;s++; } }main(){ char str1[100]="abcddfefdbd",c=′d′;ss(str1,c); printf("%s\n",str1);}程序运行后的输出结果是A)ABCDDEFEDBD B)abcDDfefDbD C)abcAAfefAbA D)Abcddfefdbd15.有如下程序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)69382516.有定义语句:char s[10];,若要从终端给s输入5个字符,错误的输入语句是A)gets(&s[0]); B)scanf("%s",s+1); C)gets(s); D)scanf("%s",s[1]);17.以下叙述中错误的是A)在程序中凡是以"#"开始的语句行都是预处理命令行B)预处理命令行的最后不能以分号表示结束C)#define MAX 是合法的宏定义命令行D)C程序对预处理命令行的处理是在程序执行的过程中进行的18.设有以下说明语句typedef struct{ int n;char ch[8];} PER;则下面叙述中正确的是A)PER 是结构体变量名 B)PER是结构体类型名C)typedef struct 是结构体类型 D)struct 是结构体类型名19.以下叙述中错误的是A)gets函数用于从终端读入字符串B)getchar函数用于从磁盘文件读入字符C)fputs函数用于把字符串输出到文件D)fwrite函数用于以二进制形式输出数据到文件20.以下能正确定义一维数组的选项是A)int a[5]={0,1,2,3,4,5}; B)chara[]={′0′,′1′,′2′,′3′,′4′,′5′,′\0′};C)char a={′A′,′B′,′C′}; D)int a[5]="0123";21.有以下程序#include<string.h>main(){ 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数组中都没有字符串结束符,故长度都不能确定22.有以下程序#include <stdio.h>#include <string.h>void fun(char *s[],int n){ char *t; int i,j;for(i=0;i<n-1;i++)for(j=i+1;j<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,bcc23.有以下程序#include <stdio.h>int 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)824.下面程序段的运行结果是char str[]="ABC",*p=str;printf("%d\n",*(p+3));A)67 B)0 C)字符′C′的地址 D)字符′C′25.若有以下定义:struct link{ int data;struct link *next;} a,b,c,*p,*q;且变量a和b之间已有如下图所示的链表结构:26.指针p指向变量a,q指向变量c。

则能够把c插入到a和b 之间并形成新的链表的语句组是:A)a.next=c; c.next=b; B)p.next=q; q.next=p.next;C)p->next=&c; q->next=p->next; D)(*p).next=q; (*q).next=&b;27.对于下述程序,在方式串分别采用"wt"和"wb"运行时,两次生成的文件TEST的长度分别是#include<stdio.h>void main(){ FILE *fp=fopen("TEST",);fputc(′A′,fp);fputc(′\n′,fp);fputc(′B′,fp);fputc(′\n′,fp);fputc(′C′,fp);fclose(fp); }A)7字节、7字节 B)7字节、5字节 C)5字节、7字节 D)5字节、5字节28.变量a中的数据用二进制表示的形式是01011101,变量b中的数据用二进制表示的形式是。

合集下载

c国家二级考试真题及答案

c国家二级考试真题及答案

c国家二级考试真题及答案1. 单选题:下列哪个选项是C语言中用于声明整型变量的关键字?A. intB. floatC. doubleD. char答案:A2. 多选题:在C语言中,哪些运算符用于比较两个值?A. ==(等于)B. !=(不等于)C. <(小于)D. >(大于)答案:A、B、C、D3. 填空题:在C语言中,使用____关键字可以定义一个函数。

答案:void4. 判断题:C语言中的数组索引是从0开始的。

答案:正确5. 简答题:请解释C语言中的指针是什么,并给出一个声明指针的示例。

答案:指针是一种特殊的变量,它存储了另一个变量的内存地址。

声明指针的示例代码如下:```cint *ptr;```这里`ptr`是一个指向整型数据的指针。

6. 编程题:编写一个C语言程序,计算并输出1到100之间所有偶数的和。

答案:```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("The sum of even numbers between 1 and 100is: %d\n", sum);return 0;}```7. 阅读程序题:分析以下代码段的功能,并指出其输出结果。

```c#include <stdio.h>int main() {int a = 10;if (a > 5) {printf("%d\n", a);} else {printf("a is not greater than 5\n");}return 0;}```答案:该代码段的功能是判断变量`a`的值是否大于5,如果是,则输出`a`的值;否则,输出"a is not greater than 5"。

往年全国计算机二级c语言试题及答案

往年全国计算机二级c语言试题及答案

往年全国计算机二级c语言试题及答案一、选择题1. 下列关于C语言的描述中,错误的是()。

A. C语言是一种高级语言B. C语言可以直接在硬件上运行C. C语言具有结构化的特点D. C语言的源代码需要编译后才能运行答案:B2. 在C语言中,用于定义一个结构体的关键字是()。

A. structB. unionC. enumD. typedef答案:A3. 下列选项中,不是C语言标准库函数的是()。

A. printfB. scanfC. mainD. strcpy答案:C二、填空题1. 在C语言中,一个整型变量占用的字节数是()。

答案:42. C语言中,用于定义一个函数的关键字是()。

答案:void 或 int 或其他类型3. 在C语言中,用于声明一个指针变量的语法是()。

答案:类型名 *变量名三、编程题1. 编写一个C语言程序,计算并输出100以内所有偶数的和。

```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("100以内所有偶数的和为:%d\n", sum);return 0;}```2. 编写一个C语言函数,实现字符串的反转。

```c#include <stdio.h>#include <string.h>void reverseString(char *str) {int len = strlen(str);for (int i = 0; i < len / 2; i++) {char temp = str[i];str[i] = str[len - i - 1];str[len - i - 1] = temp;}}int main() {char str[] = "Hello, World!";reverseString(str);printf("反转后的字符串为:%s\n", str);return 0;}```四、简答题1. 简述C语言中数组和指针的关系。

全国计算机二级考试《C语言》真题练习及答案

全国计算机二级考试《C语言》真题练习及答案

全国计算机二级考试《C语言》真题练习及答案全国计算机二级考试《C语言》真题练习及答案一、选择题(1)下列关于栈叙述正确的是A)栈顶元素最先能被删除B)栈顶元素最后才能被删除C)栈底元素永远不能被删除D)以上三种说法都不对(2)下列叙述中正确的是A)有一个以上根结点的数据结构不一定是非线性结构B)只有一个根结点的数据结构不一定是线性结构C)循环链表是非线性结构D)双向链表是非线性结构(3)某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)A)3B)4C)6D)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)-369B)369C)0.369D)整数集合{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,234B)'\123'C)123D)"\x7G"(14)以下选项中可用作C程序合法实数的是A).1e0B)3.0e0.2C)E9D)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=%snum=%d",name;&num);当执行上述程序段,并从键盘输入:name=Lili num=1001<回车>后,name的值为A)LiliB)name=LiliC)Lilinum=D)name=Lili num=1001(17)if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是A)必须是逻辑值B)必须是整数值C)必须是正数D)可以是任意合法的数值(18)有以下程序#includemain(){ int x=011;printf("%d\n",++x);}程序运行后的输出结果是A)12B)11C)10D)9(19)有以下程序#includemain(){ 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 34 5 0<回车>,则输出结果是A)6566456B)66656C)66666D)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时结束程序运行。

全国计算机等级考试二级C语言笔试试题及答案

全国计算机等级考试二级C语言笔试试题及答案

全国计算机等级考试二级C语言笔试试题及答案一、选择题1. 以下关于C语言的描述中,正确的是(A)A. C语言是一种结构化程序设计语言B. C语言是面向对象的程序设计语言C. C语言是一种解释型语言D. C语言是一种高级汇编语言答案:A2. 在C语言中,以下哪个选项是非法的整型常量?(D)A. 012B. 0x123C. 0XabcD. 0123答案:D3. 若变量已正确定义并赋值,以下正确的表达式是(C)A. a = b ++ + 1;B. a = b ++ = a++;C. a = b + b++;D. a = ++b + ++b;答案:C4. 在C语言中,以下哪个函数用于输出字符?(B)A. printfB. putcharC. putcharcD. putchart答案:B5. 已知 int a = 5, b = 3;,以下哪个选项的结果为1?(D)A. a % bB. a / bC. a + bD. a - b答案:D二、填空题1. 在C语言中,一个int类型的数据在内存中占______个字节。

答案:42. C语言中,逻辑运算符“或”用______表示。

答案:||3. 若定义 int a = 10, b = 20;,则执行语句 a += b -= a; 后,b的值为______。

答案:104. 在C语言中,函数的返回值类型为void时,表示该函数______。

答案:无返回值5. 在C语言中,以下函数的返回类型为______。

int max(int a, int b) {return (a > b) ? a : b;}答案:int三、判断题1. C语言中的数组名可以作为指针使用。

(正确)2. 在C语言中,静态存储区的数据在程序运行期间一直存在。

(正确)3. 在C语言中,结构体是一种用户自定义的数据类型。

(正确)4. 在C语言中,函数的参数传递都是按值传递的。

(错误,部分按引用传递)5. 在C语言中,文件操作完成后必须关闭文件,否则可能导致数据丢失。

往年全国计算机二级c语言试题及答案

往年全国计算机二级c语言试题及答案

往年全国计算机二级c语言试题及答案一、单项选择题(每题2分,共40分)1. 在C语言中,以下哪个选项是合法的变量名?A. 123abcB. intC. _123abcD. 3d答案:C2. 若有以下代码:```cint a = 10, b = 20;printf("%d", a = b = 20);```则输出结果为:A. 10B. 20C. 30D. 40答案:B3. 在C语言中,以下哪个函数用于计算字符串的长度?A. strlenB. strcpyC. strcatD. strcmp答案:A4. 以下关于C语言中数组的描述,正确的是:A. 数组的大小在运行时可以改变B. 数组的大小在编译时确定C. 数组可以存储不同类型的数据D. 数组的索引从1开始答案:B5. 以下哪个运算符不能用于位运算?A. &B. |C. ^D. %答案:D6. 在C语言中,以下哪个关键字用于定义结构体?A. structB. unionC. enumD. typedef答案:A7. 以下哪个选项不是C语言中的控制语句?A. ifB. switchC. forD. goto答案:D8. 在C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpyB. strcatC. strcmpD. strlen答案:A9. 以下哪个选项是C语言中正确的注释方式?A. // 这是注释B. /* 这是注释 */C. /* 这是注释D. //这是注释答案:A10. 在C语言中,以下哪个关键字用于声明函数?A. functionB. defC. voidD. int答案:C二、填空题(每题2分,共20分)1. 在C语言中,整型变量占用的字节数是______。

答案:42. 以下代码的输出结果是______。

```c#include <stdio.h>int main() {int i = 5;printf("%d", i++);return 0;}```答案:53. 以下代码的输出结果是______。

全国计算机二级《C语言》考试题库与答案

全国计算机二级《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语言程序设计二级考试真题

1、在C语言中,若需定义一个标识符以表示一个常量,通常使用:
A. const 关键字
B. #define 预处理指令
C. enum 关键字
D. typedef 关键字
(答案)B
2、以下哪个选项正确地描述了C语言中数组的内存分配?
A. 数组元素在内存中连续存储
B. 数组元素在内存中随机存储
C. 数组名代表数组第一个元素的值
D. 数组大小可以在运行时动态改变
(答案)A
3、在C语言中,关于指针的下列说法中,哪一个是正确的?
A. 指针变量的值可以是一个整数
B. 指针变量可以进行算术运算
C. 所有指针类型的大小都相同,但与所指向的数据类型有关
D. 一个指针变量只能指向一个固定类型的变量
(答案)B
4、在C语言中,若要在函数内部修改一个全局变量的值,需要:
A. 使用extern关键字声明该变量
B. 直接使用全局变量名,无需特别声明
C. 通过指针传递全局变量的地址
D. 将全局变量作为函数参数传递
(答案)B
5、以下哪个不是C语言的基本数据类型?
A. int
B. float
C. string
D. char
(答案)C
6、关于C语言中的结构体(struct),以下说法错误的是:
A. 结构体可以包含不同类型的数据成员
B. 结构体变量可以通过.运算符访问其成员
C. 结构体成员在内存中的顺序是固定的
D. 结构体类型的大小等于其所有成员大小之和
(答案)D。

全国计算机等级考试二级C语言笔试试题及答案解析

全国计算机等级考试二级C语言笔试试题及答案解析试题一:选择题1. 下列关于C语言的说法,错误的是()A. C语言是一种高级语言B. C语言具有跨平台性C. C语言编译器可以直接生成机器码D. C语言是一种解释型语言答案:D解析:C语言是一种高级语言,具有跨平台性。

编译器将C语言源程序编译成目标代码,然后通过链接器生成可执行文件,这个过程生成的机器码可以被计算机直接执行,因此C语言不是解释型语言。

2. 以下哪个选项不是C语言的基本数据类型?()A. intB. charC. floatD. string答案:D解析:C语言的基本数据类型包括整型(int)、字符型(char)、浮点型(float)和双精度浮点型(double)。

string不是C语言的基本数据类型,而是由字符数组构成的一种自定义类型。

试题二:填空题1. 在C语言中,每个语句的结尾必须使用()符号。

答案:分号(;)解析:在C语言中,每个语句的结尾必须使用分号(;)作为结束符,表示一个语句的结束。

2. 以下程序的输出结果是()。

```c#include <stdio.h>int main() {int a = 5;int b = 3;printf("%d\n", a % b);return 0;}```答案:2解析:在C语言中,取模运算符(%)用于计算两个整数相除的余数。

在本题中,5除以3的余数为2,因此输出结果为2。

试题三:编程题1. 编写一个C程序,实现以下功能:从键盘输入10个整数,计算并输出这些整数的平均值。

```c#include <stdio.h>int main() {int i, num;float sum = 0.0, average;for (i = 0; i < 10; i++) {printf("请输入第%d个整数:", i + 1);scanf("%d", &num);sum += num;}average = sum / 10;printf("这10个整数的平均值为:%.2f\n", average);return 0;}```解析:本题考查了循环语句、输入输出函数等基本知识。

(完整word版)历年全国计算机二级C语言题库

50道C语言知识题1.以下叙述中正确的是A)用C程序实现的算法必须要有输入和输出操作B)用C程序实现的算法可以没有输出但必须要有输入C)用C程序实现的算法可以没有输入但必须要有输出D)用C程序实现的算法可以既没有输入也没有输出2.下列可用于C语言用户标识符的一组是A)void,define,WORDB)a3_3,_123,CarC)For,-abc,IFCaseD)2a,DO,sizeof3.以下选项中可作为C语言合法常量的是A)-80B)-080C)-8e1.0D)-80.0e4.若有语句:char*line[5];,以下叙述中正确的是A)定义line是一个数组,每个数组元素是一个基类型为char为指针变量B)定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组C)定义line是一个指针数组,语句中的*号称为间址运算符D)定义line是一个指向字符型函数的指针5.以下定义语句中正确的是A)inta=b=0;B)charA=65+1,b=′b′;C)floata=1,*b=&a,*c=&b;D)doublea=00;b=1.1;6.有以下程序段charch;intk;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=127.有以下程序main(){inti,s=1;for(i=1;i<50;i++)if(!(i%5)&&!(i%3))s+=i;printf("%d\n",s);}程序的输出结果是A)409B)277C)1D)918.当变量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)9.若变量已正确定义,有以下程序段inta=3,b=5,c=7;A)inta[5]={0,1,2,3,4,5};B)chara[]={′0′,′1′,′2′,′3′,′4′,′5′,′\0′};C)chara={′A′,′B′,′C′};D)inta[5]="0123";21.有以下程序#include<string.h>main(){charp[]={′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数组中都没有字符串结束符,故长度都不能确定22.有以下程序#include<stdio.h>#include<string.h>voidfun(char*s[],intn){char*t;inti,j;for(i=0;i<n-1;i++)for(j=i+1;j<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,aaaaccB)aaaacc,xyC)bcc,aabccD)aabcc,bcc23.有以下程序#include<stdio.h>intf(intx){inty;if(x==0||x==1)return(3);y=x*x-f(x-2);returny;}main(){intz;z=f(3);printf("%d\n",z);}程序的运行结果是A)0B)9C)6D)824.下面程序段的运行结果是charstr[]="ABC",*p=str;printf("%d\n",*(p+3));A)67B)0C)字符′C′的地址D)字符′C′25.若有以下定义:structlink。

全国计算机等级考试二级c语言题库及答案

全国计算机等级考试二级c语言题库及答案全国计算机等级考试二级C语言题库及答案1. 以下关于C语言的叙述中,错误的是:A. C语言是一种高级语言B. C语言可以直接被计算机执行C. C语言具有结构化的特点D. C语言支持模块化程序设计答案:B2. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. forC. returnD. void答案:D3. 若有定义:int a=3, b=4; 则表达式 a+b 的值是:A. 7B. 6C. 3.4D. 43答案:A4. 在C语言中,以下哪个选项不是合法的变量名?A. _sumB. sum_C. 2valueD. sum$答案:C5. 在C语言中,以下哪个选项是正确的二维数组声明?A. int array[3][2];B. int array[][];C. int array[3][];D. int array[2,3];答案:A6. 若有定义:char c1='a', c2='b'; 则表达式 c1-c2 的值是:A. -1B. 1C. 97D. 98答案:A7. 在C语言中,以下哪个选项不是合法的字符串字面量?A. "Hello"B. 'Hello'C. "123"D. "C\"Language"答案:B8. 若有定义:int x=10; 则表达式 x++ 的结果是:A. 10B. 11C. 9D. 无法确定答案:A9. 在C语言中,以下哪个关键字用于声明一个指针?A. intB. charC. floatD. pointer答案:B10. 若有定义:int a[5] = {1, 2, 3, 4, 5}; 则表达式 a[2] 的值是:A. 3B. 4C. 5D. 无法确定答案:A11. 在C语言中,以下哪个选项不是合法的循环控制语句?A. forB. whileC. do-whileD. repeat答案:D12. 若有定义:float x=3.14; 则表达式 (int)x 的值是:A. 3B. 3.14C. 4D. 无法确定答案:A13. 在C语言中,以下哪个选项不是合法的函数参数类型?A. intB. floatC. doubleD. void答案:D14. 若有定义:int a=5, b=10; 则表达式 a%b 的值是:A. 5B. 0C. 1D. 无法确定答案:B15. 在C语言中,以下哪个选项不是合法的输入输出函数?A. printfB. scanfC. coutD. getchar答案:C16. 若有定义:int a=2, b=4; 则表达式 a&b 的值是:A. 0B. 2C. 4D. 6答案:B17. 在C语言中,以下哪个选项不是合法的逻辑运算符?A. &&B. ||C. !D. <答案:D18. 若有定义:int a=3; 则表达式 a<<2 的值是:A. 6B. 12C. 9D. 无法确定答案:B19. 在C语言中,以下哪个选项不是合法的文件操作函数?A. fopenB. fcloseC. removeD. delete答案:D20. 若有定义:int a=6; 则表达式 a==6 的值是:A. 1B. 0C. 6D. 无法确定答案:A。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档