C语言试题第2套
杭州师范大学C语言试题第2套

一、判断题第1题:C语言编译时不检查语法错第2题:C语言的函数可以嵌套定义错第3题:在标准C语言中,共用体变量中的各成员的首地址是不一样的。
错第4题:在标准C中,“=”是判断两个数是否相等。
错第5题:C语言的源程序不必通过编译就可以直接运行错第6题:指针变量与变量的指针都与地址有关对第7题:局部变量的作用域是当前文件。
错第8题:在标准C语言中,宏替换是程序运行时完成的。
错第9题:C语言允许直接访问物理地址。
对第10题:全局变量的作用域一定比局部变量的作用域范围大错二、单选题选择正确的答案输入第1题:以下程序的输出结果是main( ){int n=4;while(n--) printf("%d ",--n);}参考答案:AA、2 0B、3 1C、3 2 1D、2 1 0第2题:C语言中以追加方式打开一个文件应选择_______________参数参考答案:DA、“r”B、“w”C、“rb”D、“a”第3题:已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量‘\103’是字母参考答案:CA、AB、BC、CD、D第4题:设有以下宏定义:#define N 3#define Y(n) ((N+1)*n)则执行语句:z=2 *(N+Y(5+1));后,z的值为参考答案:CA、出错B、42C、48D、54第5题:下列表达式的值为0的是()参考答案:CA、3﹪5B、3/5.0C、3/5D、3<5第6题:下列说法中,正确的是参考答案:CA、主函数名是由程序设计人员按照“标识符”的规则选取的B、分号和回车符号都可以作为一个语句的结束符号C、在程序清单的任何地方都可以插入一个或多个空格符号D、程序的执行,总是从源程序清单的第1行开始第7题:字符串指针变量中存入的是参考答案:AA、字符串的首地址B、字符串C、第一个字符D、字符串变量第8题:在c语言中,不允许有常量的数据类型是参考答案:BA、整型B、结构型C、字符型D、字符串第9题:C语言中while和do-while循环的主要区别是参考答案:AA、do-while循环体至少无条件执行一次B、while的循环控制条件比do-while循环控制条件严格C、do-while循环允许从外部转到循环体内D、do-while循环体不能是复合语句第10题:数组定义为int a[3][2]={1, 2, 3, 4, 5, 6},数组元素_____的值为6。
C语言期末考试试题 2套

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)。
全国计算机等级考试二级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语言 2套 选择题的副本

(1)算法空间复杂度的度量方法是A)算法程序的长度B)算法所处理的数据量C)执行算法所需要的工作单元D)执行算法所需要的存储空间答案:D【解析】算法的空间复杂度是指执行这个算法所需要的内存空间,。
算法执行期间所需的存储空间包括3个部分:输入数据所占的存储空间;程序本身所占的存储空间;算法执行过程中所需要的额外空间。
D选项正确。
(2)下列叙述中正确的是A)循环队列属于队列的链式存储结构B)双向链表是二叉树的链式存储结构C)非线性结构只能采用链式存储结构D)有的非线性结构也可以采用顺序存储结构答案:D【解析】循环队列是队列的一种顺序存储结构,A选项错误。
双向链表为顺序存储结构,二叉树通常采用链式存储结构,B选项错误。
完全二叉树是属于非线性结构,但其最佳存储方式是顺序存储方式,C选项错误,D选项正确。
(3)下列叙述中正确的是()。
A)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C)顺序存储结构能存储有序表,链式存储结构不能存储有序表D)链式存储结构比顺序存储结构节省存储空间答案:A【解析】链式存储结构既可以针对线性结构也可以针对非线性结构,所以B)与C)错误。
链式存储结构中每个结点都由数据域与指针域两部分组成,增加了存储空间,所以D)错误。
(4)下列关于栈的叙述中,正确的是A)栈底元素一定是最后入栈的元素B)栈顶元素一定是最先入栈的元素C)栈操作遵循先进后出的原则D)以上说法均错误答案:C【解析】栈顶元素总是后被插入的元素,从而也是最先被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素。
栈的修改是按后进先出的原则进行的。
因此,栈称为先进后出表,或"后进先出"表,所以选择C。
(5)在软件设计中不使用的工具是()。
A)系统结构图B)PAD图C)数据流图(DFD图)D)程序流程图答案:C【解析】系统结构图是对软件系统结构的总体设计的图形显示。
2022c语言二级考试题及答案

2022c语言二级考试题及答案一、单项选择题(每小题2分,共40分)1. C语言中,用于定义变量类型为整型的关键字是()。
A. intB. floatC. doubleD. char答案:A2. 下列选项中,不是C语言标准库函数的是()。
A. printf()B. scanf()C. strcat()D. input()答案:D3. 若有以下定义和语句:```cint a=5, b=2;a=a+b;```则执行后变量a的值是()。
A. 5B. 7C. 2D. 0答案:B4. 在C语言中,以下哪个选项是正确的字符串常量?A. "123"B. '123'C. "123""D. 123答案:A5. C语言中,以下哪个选项是正确的二维数组定义?A. int a[2,3];B. int a[2][3];C. int a[2][3][];D. int a[][];答案:B6. 在C语言中,以下哪个选项是正确的函数定义?A. int fun(int a, int b);B. int fun();C. int fun(int a, int b) {}D. int fun(a, b) {}答案:C7. 下列哪个选项是C语言中的合法标识符?A. 2aB. a-bC. _a1D. int答案:C8. 若有以下定义和语句:```cint a=5, b=0;if (a=b)printf("%d", b);elseprintf("%d", a);```则执行后输出的结果是()。
A. 5B. 0C. 1D. 无输出答案:B9. C语言中,以下哪个选项是正确的文件操作函数?A. fopen()B. fclose()C. fgetc()D. All of the above答案:D10. 在C语言中,以下哪个选项是正确的结构体定义?A. struct student {int age;float score;};B. struct {int age;float score;} student;C. Both A and BD. None of the above答案:C11. C语言中,以下哪个选项是正确的枚举类型定义?A. enum color {red, green, blue};B. enum {red, green, blue};C. Both A and BD. None of the above答案:C12. 在C语言中,以下哪个选项是正确的宏定义?A. #define PI 3.14B. #define PI = 3.14C. #define PI 3.14D. #define PI = 3.14答案:A13. C语言中,以下哪个选项是正确的指针定义?A. int *p;B. int *p[];C. int (*p)[];D. int *p[10];答案:A14. 若有以下定义和语句:```cint a=10;printf("%d", ++a);```则执行后输出的结果是()。
c二级考试试题和答案及分析

c二级考试试题和答案及分析1. 以下哪个选项是C语言中的关键字?A. intB. floatC. doubleD. string答案:A分析:在C语言中,`int` 是一个关键字,用于声明整型变量。
而`float` 和 `double` 用于声明浮点型变量,`string` 不是C语言的关键字,它是C++中的关键字。
2. 以下哪个函数用于计算两个数的和?A. max(a, b)B. min(a, b)C. sum(a, b)D. average(a, b)答案:C分析:在C语言中,并没有内置的 `sum` 函数,但是可以通过自定义函数来实现两个数的求和。
通常,自定义的求和函数可以命名为`sum`,其函数原型可以是 `int sum(int a, int b)`。
3. 在C语言中,以下哪个语句用于声明一个整型数组?A. int array[5];B. int [5] array;C. int array[];D. int array = 5;答案:A分析:在C语言中,声明一个整型数组的正确方式是指定数组类型、数组名和数组大小。
因此,`int array[5];` 是正确的声明方式,它声明了一个包含5个整型元素的数组。
4. 以下哪个选项是C语言中的条件语句?A. ifB. switchC. whileD. for答案:A分析:在C语言中,`if` 是条件语句,用于根据条件的真假来执行不同的代码块。
而 `switch` 是多分支选择语句,`while` 和 `for` 是循环语句。
5. 在C语言中,以下哪个函数用于输出字符串?A. printf("%s", str);B. scanf("%s", str);C. puts(str);D. gets(str);答案:C分析:`puts(str)` 是C语言中用于输出字符串的函数,它会在输出的字符串后自动添加一个换行符。
C语言试题6.

C语言试题及答案(6)我爱学习2009-09-13 10:05:46 阅读3030 评论1 字号:大中小C语言程序设计技能测试考试说明1、在D盘或E盘根目录下创建文件夹以存放程序文件。
2、1-4题的程序名称分别为:q1.c、q2.c、q3.c、q4.c 。
上传源程序代码到教师指定机器。
3、第1-3题,任意选择两道题,第4题必做。
C语言程序设计技能测试题(第1套)一、利用循环打印出以下图案(行数由键盘输入)。
(30分)**********二、输入一个正整数,按照逆序显示输出各位数字。
例如:输入2389,则输出为9832。
(30分)三、求s=1!+2!+3!+4!+5!并输出结果。
(30分)四、学生记录由学号、姓名、成绩组成(学号、成绩都为整数),使用结构体数组,将下列学生的数据按成绩(由大到小)排序后显示到屏幕上。
(学生数据可以直接在程序中定义,或者从键盘录入)(40分)1 Li 902 wang 953 zhao 804 liu 855 chen 946 yang 79C语言程序设计技能测试考试说明1、在D盘或E盘根目录下创建文件夹以存放程序文件。
2、1-4题的程序名称分别为:q1.c、q2.c、q3.c、q4.c 。
上传源程序代码到教师指定机器。
3、第1-3题,任意选择两道题,第4题必做。
C语言程序设计技能测试题(第2套)一、从键盘输入一个正整数,输出各位数字的和。
(30分)例如:输入2389,输出为22。
(因为2+3+8+9=22)。
二、输出101-200之间的所有素数。
(30分)三、有一个已经排好序的数组a[30]={7,10,13,16,20,24,26,46,68,69,99}。
从键盘录入一个整数,要求按原来的排序规律将它插入数组中,并显示插入后的数组的内容。
(30分)四、学生记录由学号、姓名、成绩组成(学号、成绩都为整数),将下列学生数据中不及格的学生信息显示出来。
(学生数据可以直接在程序中定义,或者从键盘录入)(40分)2 wang 953 zhao 434 liu 855 chen 946 yang 51C语言程序设计技能测试考试说明1、在D盘或E盘根目录下创建文件夹以存放程序文件。
计算机二级c语言试题及答案解析

计算机二级c语言试题及答案解析一、选择题(每题2分,共20分)1. 在C语言中,以下哪个选项是合法的整型常量?A. 0x12B. 0123C. 0x123.456D. 0123456答案:A解析:在C语言中,十六进制常量以0x或0X开头,后跟十六进制数字。
选项A表示十六进制数,是合法的整型常量。
选项B表示八进制数,选项C表示浮点数,选项D是无效的表示。
2. 下列哪个选项是C语言中的关键字?A. switchB. caseC. defaultD. all of the above答案:D解析:在C语言中,switch、case和default都是关键字。
switch用于条件分支,case用于指定分支条件,default用于指定默认分支。
3. 在C语言中,以下哪个选项是合法的字符常量?A. 'A'B. "A"C. '\t'D. 'AB'答案:C解析:在C语言中,字符常量用单引号括起来,可以是单个字符或转义字符。
选项A是合法的字符常量,但选项B是字符串常量。
选项C 是合法的转义字符,表示水平制表符。
选项D是两个字符,不是合法的字符常量。
4. 在C语言中,以下哪个选项是合法的数组声明?A. int a[];B. int b[10];C. int c[10] = {0};D. all of the above答案:D解析:在C语言中,A选项声明了一个未指定大小的整型数组,B选项声明了一个大小为10的整型数组,C选项声明了一个大小为10的整型数组并初始化所有元素为0。
所有选项都是合法的数组声明。
5. 在C语言中,以下哪个选项是合法的函数声明?A. int func(int x);B. int func(int);C. int func();D. int func(int, int);答案:D解析:在C语言中,函数声明需要指定返回类型、函数名和参数列表。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、选择题11. 以下选项中合法的标识符是______。
A: 1_1 B: 1—1C: _11 D: 1_ _12. 若函数中有定义语句:int k;,则______。
A: 系统将自动绐K赋初值0B: 这时K中的值无定义C: 系统将自动绐K赋初值-1D: 这时K中无任何值13. 以下选项中,能用作数据常量的是______。
A: 0115 B: 0118C: 1.5e1.5 D: 115L14. 设有定义:int x=2;,以下表达式中,值不为6的是______。
A: x*=x+1 B: x++,2*xC: x*=(1+x) D: 2*x,x+=215. 程序段:int x=12;doub1e y=3.141593;printf("%d%8.6f"x,y);的输出结果是______。
A: 123.141593 B: 12 3.141593C: 12,3.141593 D: 123,141593016. 若有定义语句:doub1e x,y,*px,*py;执行了px=&x;py=&y;之后,正确的输入语句是______。
A: scanf("%f%f"&x,& y); B: scanf("%f%f"&x,& y);C: scanf("%1f%lf",px,y); 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)else if(x!=1O) 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,%o\n",a,b,c); } 程序运行后的输出结果是______。
A: 1,2,3 B: 1,3,2C: 1,3,,3 D: 3,2,120. 以下程序段中的变量已正确定义for(=0;i<4;i++,i++)for(k=1;k<3;k++);printf("*") 程序段的输出结果是______。
A: ******** B: ****C: ** D: *21. 有以下程序#inc1ude<stdio.h>main(){ char*s={"ABC"};do { printf("%d",*s%10); s++; } while(*s); }注意字母A的ASCII码值为65。
程序运行后的输出结果是______。
A: 5670 B: 656667C: 567 D: ABC22. 设变量已正确定义,以下不能统计出一行中输入字符个数(不包含回车符)的程序段是______。
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<sldio.h>main(){ int a1,a2; char c1,c2;scanf("%d%c%d%c",&a1,&c1,%a2,&c2);printf("%d,%c,%d,%c,a1,c1,a2,c2); }若想通过键盘输入,使得a1的值为12,a2的值为34,c1的值为字符a,c2的值为字符b,程序输出结果是:12,a,34,b 则正确的输入格式是(以下[]代表空格,<CR>代表回车)______.A: 12a34b<CR>B: 12[]a[]34[]b<CR>C: 12,a,34,b<CR>D: 12[]a34[]b<CR>24. 有以下程序#inc1ude<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: 725. 有以下程序#inc1ude<stdio.h>void fun(char*s){ while(*s){ if(*s%2=0) printf("%c",*s); s++ } }main(){ char a[]={"good"};fun(a); prntf("n\");}注意:字母a的ASCII码值为97,程序运行后的输出结果是______。
A: d B: go C: god D: good26. 有以下程序#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,3B: 3,5,3,5C: 5,3,3,5D: 5,3,5,327. 有以下程序#include<stdio.h>void 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,3C: 1,4 D: 1,228. 以下函数按每珩8个输出数组中的数据void fun( int *w, int n){ int i; for(i=0;i<n,i++){ ______ printf("%d",w[i]); } printf("\n"); }下划线处应填入的语句是______。
A: if(i/8=0)printf("\n);B: if(i/8=0)continue;C: if(i%8=0)printf("\n");D: if(i%8=0)continue;29. 若有以下定义 intx[10],*pt=x; 则对x数组元素的正确引用是______。
A: *&x[10] B: *(x+3)C: *(pt+10) D: pt+330. 设有定义:char s[8];int i=O;,以下不能将—行(不超过80个字符)带有空格的字符串正确读入的语句或语句组是______。
A: gets(s);B: white((s[i++]=getchar())!='\n');s[i]=\0;C: scanf("%s",s);D: d0{scanf("%c",&s[i]);}while(s[i++]!='\n';s[i]='\0';31. 有以下程序#include<stdio.h>main(){ char*a[]={"abcd","ef","gh","ijk"};int i;for(i=0;i<4;i++) printf("%c",*a[i]);}程序运行后的输出结果是______。
A: agei B: dfhkC: abcd D: abcdefghijk32. 以下选项中正确的语句组是______。
A: chars[];s="BOOK!"; B: char*s;s={"BOOK!"};C: chars[10];s="BOOK!"; D: char*s;S="BOOK!";33. 有以下程序#include<stdio.h>int fun(int x;int y){ if(x=y) reurn(x);else return((x+y)/2); }main(){ int a=4,b=5,c=6;printf("%d\n",fun(2*a,fun(b,c)));} 程序运行后的输出结果是______。
A: 3 B: 6C: 8 D: 1234. 设函数中有整型变量n,为保证其在未赋初值的情况下初值为0,应选择的存储类别是______。
A: auto B: registerC: static D: auto或register35. 有以下程序#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[i])+b;printf("%d",b;} print("\n"); }程序运行后的输出结果是______。
A: 10 12 B: 8 10C: 10 28 D: 10 1636. 有以下程序#include<stdio.h>#define PT 3.5;#define S(x) PT*x*x;main(){ int a=1,b=2; printf("%4.1f\n",S(a+b); }程序运行后的输出结果是______。