C语言试卷7
中级程序设计员(C语言)知识试卷(7)
线名姓封号证考准区标地程序设计员理论考试试卷注意事项1.请首先按要求在试卷的标封处填写您的地区、准考证号和姓名。
2.请仔细阅读各种题目的回答要求,在答题卡位置填写您的答案。
3.请用蓝色(或黑色)钢笔、圆珠笔答卷,不要在试卷内填写与答题无关的内容。
4.本试卷满分为100分;考试时间60分钟。
一、单项选择题(每小题1分,本题共20分)1、二进制语言是属于()。
A、面向机器语言B、面向问题语言C、面向过程语言D、面向汇编语言2、下列字符列中,不是用来表达转义字符的是()。
A、\\B、\'C、074D、\03、若有定义语句:int x=12,y=8,z;,在其后执行语句z=0.9+x/y;,则Z的值为()。
A、1.9B、1C、2D、2.44、在C语言中,下列说法中错误的是()。
A、函数定义可以分为两个部分:函数说明部分和函数体B、主函数可以调用任何非主函数C、任何非主函数可以调用其它任何非主函数D、程序可以从任何函数开始执行5、在以下字符列中,合法的长整型常数是()。
A、OLB、4962710C、0.054838743D、2.1869el06、数据库系统的三级模式不包括()。
A、概念模式B、内模式C、外模式D、数据模式7、执行语句“x=(a=3,b=a—-);”后,X,a,b的值依次为()。
A、3,3,2B、2,3,2C、3,2,3D、2,3,38、设有无符号短整型变量i、j、k,i值为013,j值为OX13。
计算表达式“k=~i|j>>3”后,k的值是()。
A、06B、0177776C、066D、01777669、若有定义:int a,b;,通过语句scanf("%d;%d",&a,&b);,能把整数3赋给变量a,5赋给变量b的输入数据是()。
A、3 5B、3,5C、3;5D、3510、设X、y、Z、t均为int型变量,则执行以下语句后,t的值为()。
x=y=z=1;t=++x||++y&&++z;A、不定值B、2C、lD、011、若有定义语句:int a=10;double b=3.14;,则表达式'A'+a+b值的类型是()。
c语言试题7
D:数组名不能作形参
第9题 (1分)
以下能对二维数组a进行正确初始化的语句是(B).
A:int a[2][]={{1,0,1},{5,2,3}};
B:int a[][3]={{1,2,3},{4,5,6}};
C:int a[2][4]={{1,2,3},{4,5},{6}};
A:long
B:_2Test
C:3Dmax
D:A.dat
━━━━━━━━━━━━━━━
四、程序填空 共2题 (共计16分)
━━━━━━━━━━━━━━━━
第1题 (8分)
/*-------------------------------------------------------
若a是float型变量,b是unsigned型变量,以下输入语句中合法的是(C).
A:scanf("%6.2f%d",&a,&b);
B:scanf("%f%n",&a,&b);
C:scanf("%f%3o",&a,&b);
D:scanf("%f%f",&a,&b);
第30题 (1分)
以下选项中合法的用户标识符是(B).
第14题 (2分)
int x=4,y=z=2;x=x==(y=z); 则x的值为【0】.
第15题 (2分)
输入整型变量a的值. int a; scanf("%d",【&a】);
━━━━━━━━━━━━━━━
二、判断 共10题 (共计10分)
c语言知识试题及答案
c语言知识试题及答案1. 介绍C语言是一门广泛应用于计算机科学领域的编程语言。
熟练掌握C 语言知识对于计算机程序员来说非常重要。
以下是一些常见的C语言试题及答案,希望能够帮助你提高对C语言的理解和掌握。
2. 基础知识试题1:什么是C语言?答案:C语言是一种高级编程语言,由贝尔实验室的Dennis Ritchie 在20世纪70年代初开发的。
它具有高效性、可移植性和灵活性等特点。
试题2:列举一些C语言的数据类型。
答案:C语言的数据类型包括整型、浮点型、字符型、指针型、数组、结构体等。
3. 语法与表达式试题3:如何定义一个整型变量x并将其初始化为10?答案:可以使用以下语句来完成:```cint x = 10;```试题4:如何使用printf函数输出一个字符串?答案:可以使用以下语句来完成:```cprintf("Hello, World!");```4. 控制流与循环试题5:如何使用if语句判断一个数是正数、负数还是零?答案:可以使用以下代码来实现:```cint num;printf("请输入一个数:");scanf("%d", &num);if (num > 0) {printf("这是一个正数");} else if (num < 0) {printf("这是一个负数");} else {printf("这是零");}```试题6:如何使用for循环输出1到10之间的所有偶数?答案:可以使用以下代码来实现:```cfor (int i = 1; i <= 10; i++) {if (i % 2 == 0) {printf("%d ", i);}}```5. 函数与模块化试题7:如何定义一个函数来计算两个整数的和?答案:可以使用以下代码来定义一个函数:```cint sum(int a, int b) {return a + b;}// 在主函数中调用该函数int result = sum(3, 5);```试题8:如何使用递归函数来计算一个数的阶乘?答案:可以使用以下代码来实现:```cint factorial(int n) {if (n == 0) {return 1;} else {return n * factorial(n-1);}}// 在主函数中调用该函数int result = factorial(5);```6. 数组与字符串试题9:如何定义一个整型数组,并计算数组中所有元素的和?答案:可以使用以下代码来完成:```cint arr[] = {1, 2, 3, 4, 5};int sum = 0;for (int i = 0; i < sizeof(arr) / sizeof(arr[0]); i++) {sum += arr[i];}printf("数组元素的和为:%d", sum);```试题10:如何使用strcpy函数将一个字符串复制给另一个字符串?答案:可以使用以下代码来实现:```c#include <string.h>char str1[20] = "Hello";char str2[20];strcpy(str2, str1);printf("复制后的字符串为:%s", str2);```7. 指针与动态内存分配试题11:什么是指针,并解释指针和变量之间的区别。
国家二级C语言机试C语言基础知识模拟试卷7_真题-无答案
国家二级C语言机试(C语言基础知识)模拟试卷7(总分60,考试时间90分钟)1. 选择题1. DOS文件系统的组织结构属于A. 星形结构B. 网星结构C. 环形结构D. 树形结构2. 计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是A. C语言程序仅可以编译执行B. C语言程序仅可以解释执行C. C语言程序既可以编译执行又可以解释执行D. 以上说法都不对3. 以下叙述中错误的是A. C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件B. 用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中C. C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令D. C语言源程序经编译后生成后缀为.obj的目标程序4. 下列叙述中错误的是A. C程序可以由多个程序文件组成B. 一个C语言程序只能实现一种算法C. C程序可以由一个或多个函数组成D. 一个C函数可以单独作为一个C程序文件存在5. 以下叙述中错误的是A. 结构化程序由顺序、分支、循环三种基本结构组成B. C语言是一种结构化程序设计语言C. 使用三种基本结构构成的程序只能解决简单问题D. 结构化程序设计提倡模块化的设计方法6. 以下叙述中错误的是A. 算法正确的程序最终一定会结束B. 算法正确的程序可以有零个输入C. 算法正确的程序可以有零个输出D. 算法正确的程序对于相同的输入一定有相同的结果7. 以下选项中关于程序模块化的叙述错误的是A. 把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块B. 可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序C. 把程序分成若干相对独立的模块,可便于编码和调试D. 可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序8. C语言源程序名的后缀是A. .exeB. .objC. .cD. .cp9. 关于算法,以下叙述中错误的是A. 同一个算法对于相同的输入必能得出相同的结果B. 一个算法对于某个输入的循环次数是可以事先估计出来的C. 某个算法可能会没有输入D. 任何算法都能转换成计算机高级语言的程序,并在有限时间内运行完毕10. 以下不能用于描述算法的是A. 程序语句B. E-R图C. 伪代码和流程图D. 文字叙述11. 以下叙述中正确的是A. 程序的算法只能使用流程图来描述B. N—S流程图只能描述简单的顺序结构的程序C. 计算机可以直接处理C语言程序,不必进行任何转换D. 结构化程序的三种基本结构是循环结构、选择结构、顺序结构12. 以下叙述中正确的是A. 在C语言程序设计中,所有函数必须保存在一个源文件中B. 在算法设计时,可以把复杂任务分解成一些简单的子任务C. 只要包含了三种基本结构的算法就是结构化程序D. 结构化程序必须包含所有的二三种基本结构,缺一不可13. 以下叙述中正确的是A. 每个后缀为.c的C语言源程序都应该包含一个main函数B. 在C语言程序中,main函数必须放在其他函数的最前面C. 每个后缀为.c的C语言源程序都可以单独进行编译D. 在C语言程序中,只有main函数才可单独进行编译14. 有以下程序,在VC6平台上编译运行,程序运行后的输出结果是#include<stdio.h>main(){int s,t,A=10;double B=6:s=sizeof(A);t=sizeof(B);printf("%d,%d\n",s,t);}A. 4,4B. 2,4C. 4,8D. 10,615. 对于一个正常运行的C程序,以下叙述中正确的是A. 程序的执行总是从程序的第一个函数开始,在main函数结束B. 程序的执行总是从main函数开始,在程序的最后一个函数中结束C. 程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束D. 程序的执行总是从main函数开始16. 计算机能直接执行的程序是A. 目标程序B. 可执行程序C. 汇编程序D. 源程序17. 以下叙述中正确的是A. 可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行B. C语言程序将从源程序中第一个函数开始执行C. main的各种大小写拼写形式都可以作为主函数名,如:MAIN,Main等D. C语言规定必须用main作为主函数名,程序将从此开始执行18. 以下叙述中错误的是A. C程序在运行过程中所有计算都以二进制方式进行B. 所有C程序都需要编译链接无误后才能运行C. C程序在运行过程中所有计算都以十进制方式进行D. C程序中字符变量存放的是字符的ASCII值19. 下列叙述中正确的是A. 在C程序中main函数的位置是固定的B. C程序中所有函数之间都可以相互调用C. 每个C程序文件中都必须要有一个main函数D. 在C程序的函数中不能定义另一个函数20. 以下叙述正确的是A. C语言程序是由过程和函数组成的B. C语言函数可以嵌套调用,例如:fun(fun(x))C. C语言函数不可以单独编译D. C语言中除了main函数,其他函数不可作为单独文件形式存在21. C语言程序的模块化通过以下哪个选项来实现A. 变量B. 程序行C. 函数D. 语句22. 以下叙述中正确的是A. 程序的主函数名除main外,也可以使用Main或mainB. 在C程序中,模块化主要是通过函数来实现的C. 程序可以包含多个主函数,但总是从第一个主函数处开始执行D. 书写源程序时,必须注意缩进格式,否则程序会有编译错误23. 以下叙述中正确的是A. C语言程序总是从最前面的函数开始执行B. C语言程序总是从main函数开始执行C. C语言程序中main函数必须放在程序的开始位置D. C语言程序所调用的函数必须放在main函数的前面24. C语言主要是借助以下哪种手段来实现程序模块化A. 定义常量和外部变量B. 使用丰富的数据类型C. 使用三种基本结构语句D. 定义函数25. 以下四个程序中,完全正确的是A. #include<stdio.h>main();{/*/1Programming /*/printf("programming!\n");}B. #include<stdio.h>main();{/*programming*/printf("programming!\n");}C. #include<stdio.h>main() {/*/*programming*/*/printf("programming!\n");}D. include<stdio.h>main() {/*programming*/printf("programming!\n");}26. 以下关手结构化程序设计的叙述中正确的是A. 结构化程序使用goto语句会很便捷B. 一个结构化程序必须同时由顺序、分支、循环三种结构组成C. 由三种基本结构构成的程序只能解决小规模的问题D. 在C语言中,程序的模块化是利用函数实现的27. 以下叙述中正确的是A. C程序中的每一行只能写一条语句B. 简单C语句必须以分号结束C. C语言程序中的注释必须与语句写在同一行D. C语句必须在一行内写完28. 以下叙述中正确的是A. C程序书写格式严格,要求一行内只能写一个语句B. C程序书写格式自由,一个语句可以写在多行上C. C程序中的注释只能出现在程序的开始位置和语句的后面D. 用C语言编写的程序只能放在一个程序文件中29. 以下关于C语言的叙述中正确的是A. C语言中的变量可以在使用之前的任何位置进行定义B. 在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致C. C语言的数值常量中夹带空格不影响常量值的正确表示D. C语言中的注释不可以夹在变量名或关键字的中间30. 有以下程序#include<stdio.h>main(){int a=0,b=0;/*给a赋值a=10;b=20;给b赋值*/printf("a+b=%d\n",a+b);/*输出计算结果*/}程序运行后的输出结果是A. a+b=30B. a+b=10C. 出错D. a+b=0。
C语言面试题目7
A)fun(int y,double m); B)k=fun(10,12.5);
C)fun(x,n); D)void fun(n,x);
答案:C
评析:函数调用的一般形式为:函数名(实参表列);,实参与形参的个数应相等,类型应一致,在调用函数时,不要指定其返回类型,对于返回类型为void的函数,不能作为赋值表达式的组成部分,所以选C。
int I,j,s=0;
for(I=O;i<2;i++)p[i]=ch[I];
for(I=O;i<2;i++)
for(j=0;p[i][j]>’\0’;j+=2)
s=10*s+(p[i][j].’0’);
printf(”%d\n”,s);
}
该程序的输出结果是_________。
A)数据所占的存储空间量
B)数据的逻辑结构在计算机中的表示
C)数据在计算机中的顺序存储方式
D)存储在外存中的数据
答案:B
评析:数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构。
(3)设有下列二叉树:
对此二叉树中序遍历的结果为________。
A)ABCDEF B)DBEAFC C)ABDECF D)DEBFCA
答案:B
评析:中序遍历是指首先遍历左子树,然后访问根结点,最后遍历右子树;并且在遍历左、右子树时,仍然先遍历左子树,然后访问根结点,最后遍历右子树的一种二叉树遍历算法。
(4)在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送________。
答案:C
评析:本题考查的是if..else语句的使用。x=2.0,符合第二个IF语句的条件x<lO.O,所以执行y=1.0/x语句,即y=1.0/2.0=0.500000。
青少年软件编程(C语言)等级考试试卷(七级)202206
青少年软件编程(C语言)等级考试试卷(七级)分数:100 题数:4一、编程题(共4题,共100分)1. 重建二叉树给定一棵二叉树的前序遍历和中序遍历的结果,求其后序遍历。
时间限制:1000内存限制:65536输入输入可能有多组,以EOF结束。
每组输入包含两个字符串,分别为树的前序遍历和中序遍历。
每个字符串中只包含大写字母且互不重复。
输出对于每组输入,用一行来输出它后序遍历结果。
样例输入样例输出试题编号:_7_01试题类型:编程题标准答案:试题难度:一般试题解析:#include<bits/stdc++.h>using namespace std;struct Node{char c;Node *lchild;Node *rchild;int loc;char str1[100],str2[100];Node *create(){tree[loc].lchild=tree[loc].rchild=NULL;return &tree[loc++];}Node *build(Node *root,int q1,int q2,int z1,int z2){root=create();char cr=str1[q1];root->c=cr;int idx=z1;for(;idx<=z2;idx++){if(str2[idx]==cr)break;}if(idx!=z1){root->lchild=build(root->lchild,q1+1,q1+(idx-z1),z1,idx-1);}if(idx!=z2){root->rchild=build(root->rchild,q1+(idx-z1)+1,q2,idx+1,z2);}return root;}void PostOrder(Node *root) {if(root->lchild!=NULL){PostOrder(root->lchild);}if(root->rchild!=NULL){PostOrder(root->rchild);}cout<<root->c;}int main() {while(cin>>str1){cin>>str2;loc=0;Node *root=NULL;int len1=strlen(str1);int len2=strlen(str2);root=build(root,0,len1-1,0,len2-1);PostOrder(root);cout<<endl;}}展示地址:点击浏览考生答案:(此题已作答)考生得分:25是否评分:已评分评价描述:2. 快速堆猪小明有很多猪,他喜欢玩叠猪游戏,就是将猪一头头叠起来。
c语言试卷集(10套)-试题及答案
c语言试卷集(10套)-试题及答案C语言试卷集(10套)-试题及答案试卷一一、选择题(每题2分,共20分)1. C语言中,用于表示逻辑“真”的值是()。
A. 0B. 1C. -1D. 任意非零值答案:B2. 下列哪个选项是C语言中的合法变量名?()A. 2variableB. variable2C. variable_2D. variable!答案:C3. C语言中,用于定义一个整型数组的语句是()。
A. int array[10];B. int [10] array;C. int 10 array;D. int array=10;答案:A4. 下列哪个选项是C语言中的合法字符串常量?()A. "Hello"B. 'Hello'C. "HelloD. Hello答案:A5. C语言中,用于表示逻辑“假”的值是()。
A. 0B. 1C. -1D. 任意非零值答案:A6. 下列哪个选项是C语言中的合法浮点数常量?()A. 3.14B. 314.C. .314D. 3.14E答案:A7. C语言中,用于定义一个整型变量的语句是()。
A. int x;B. var x;C. x int;D. int = x;答案:A8. 下列哪个选项是C语言中的合法字符常量?()A. 'A'B. "A"C. 'AB'D. "AB"答案:A9. C语言中,用于定义一个字符数组的语句是()。
A. char array[10];B. char [10] array;C. char 10 array;D. char array=10;答案:A10. C语言中,用于表示字符常量的是()。
A. 'A'B. "A"C. AD. "A"答案:A二、填空题(每题3分,共15分)1. C语言中,用于定义一个整型变量并初始化为0的语句是()。
C语言习题(7)
C语言习题(第7章函数)一.选择题1.以下说法正确的是________。
A)C语言程序总是从第一个函数开始执行B)在C语言程序中,要调用的函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D)C语言程序中的main()函数必须放在程序的开始部分2.以下正确的说法是___________。
A)用户若需要调用标准库函数,调用前必须重新定义B)用户可以重新定义标准库函数,如若此,该函数将失去原有定义C)系统不允许用户重新定义标准库函数D)用户若需要使用标准库函数,调用前不必使用预处理命令将该函数所在的头文件包含编译,系统会自动调用。
3.以下正确的函数定义是___________。
A)double fun(int x, int y); B)int fun(int x,y){ z=x+y ; return z ; } { int z ; return 3;}C)double fun (x,y) D)double fun (int x, int y){ int x, y ; double z ; { double z ; z=x+y;z=x+y ; return z ; } return z ; }4.C语言中,简单变量做实参和形参时,以下正确的说法是___________。
A)实参和与其对应的形参各占用独立的存储单元B)实参和与其对应的形参共占用一个存储单元C)只有当实参和与其对应的形参同名时才共占用相同的存储单元D)形参时虚拟的,不占用存储单元5.C语言规定,简单变量做实参时,它和对应的形参之间的数据传递方式是___________。
A)地址传递B)单向值传递D)由用户指定传递方式6.C语言规定,函数返回值的类型是由___________决定的。
A)return语句中的表达式类型B)调用该函数时的主调函数类型C)调用该函数时由系统临时D)在定义函数时所指定的函数类型7.以下正确的描述是___________。
c语言试卷含答案
c 语言试卷含答案
Revised final draft November 26, 2020
吾日三省乎吾身。为人谋而不忠乎?与朋友交而不信乎?传不习乎?——《论语》
谋事在人,成事在天!——《增广贤文》
一、选择题(26 分)
1. 正确的 C 语言标识符是 (A )。
main()
{
int a=1,b=2;
printf("%d \n",MA(a+b));
}
志不强者智不达,言不信者行不果。——墨翟
B.#define 是 C 语句,而 scanf 不
C. scanf 是 C 语句,但#define 不是 句
D.#define 和 scanf 都不是 C 语
24. 若有说明:int a=8, *p=&a, *q=p;,则以下非法的赋值语句是(B)。
A. p=q;
B.q=a;
C. a=*q;
D. *p=*q;
else if (【x>-1 && x<=2】) y=1/x;
else if (x<=-1) y=x-1;
else 【y= -1】;
if (y!= -1) printf(”%d”,y);
else printf(”error”);
}
5.下列程序执行后的输出结果是( 5 )。
#define MA(x) x*(x-1)
18. 以下说法中正确的是(C )。
以家为家,以乡为乡,以国为国,以天下为天下。——《管子·牧民》
我尽一杯,与君发三愿:一愿世清平,二愿身强健,三愿临老头,数与君相见。——《白居易》
C语言练习7
/**********FILL**********/
f(n%8==7) __a=n/8___ ; }
}
if(i%17==4)
{
n=i/17 ;
/**********FILL**********/
if(_n%17==15!(n%17!=15)___) n=n/17 ;
}
/**********FILL**********/
main()
{ char x[80], y[40]; int a, h = 0;printf(“Please input x string: “);
gets(x);printf(“Please input y s’)
___h++__ ;___a = 0__;
{ int a[N], i;
for( i = 0; i < N; i++)scanf(“%d”, a +___i__ );
invert( a, 0, N - 1);for(i = 0; i < N; i ++) printf(“%d”, a[i]);printf(“\n”);
7.以下程序的运行结果是_30x____。
功能:根据整型形参m的值,计算如下公式的值。
1 1 1
t = 1- -- - -- - ... - --
2x2 3x3 mxm
例如:若m=5,则应输出:0.536389
#include "stdio.h"
double fun(int m)
{double y=1.0;int i;
/**********ERROR**********/
double a = 513.789215;
C语言试卷及答案
C语言试卷及答案一、选择题(共10题,每题2分,共20分)1. 在C语言中,下列关键字中用于定义常量的是:A. ifB. constC. forD. switch2. 下列哪个运算符的优先级最高?A. ++B. +C. %D. /3. 在C语言中,用于判断两个值是否相等的运算符是:A. ==B. =C. !=D. >4. 下列哪个标识符是合法的?B. myVariableC. @nameD. while5. 下列循环结构中,只有在条件满足时才会执行的是:A. for循环B. do-while循环C. while循环D. switch语句6. 下列哪种数据类型不能存储小数?A. intB. floatC. doubleD. char7. 下列哪个头文件包含了输入输出函数的声明?A. <stdio.h>B. <stdlib.h>C. <math.h>8. 数组在内存中是以连续的存储单元存储的,其首地址对应数组名,以下哪个关键字不可用于定义数组大小?A. constB. staticC. externD. volatile9. C语言中,以下哪个库函数可以用于生成一个随机数?A. rand()B. sqrt()C. getchar()D. strcpy()10. 下列哪个运算符用于获取变量的地址?A. %B. *C. &D. #二、填空题(共5题,每题3分,共15分)1. C语言中,逻辑运算符"与"的符号是_______。
2. 在C语言中,printf函数的返回值是_______。
3. 下列循环结构中,无论条件是否成立,至少会执行一次的是_______。
4. 在C语言中,声明一个整型变量的关键字是_______。
5. C语言中,用于声明一个字符变量的关键字是_______。
三、编程题(共2题,共45分)1. 编写一个C语言程序,将用户输入的两个数进行交换,并输出交换后的结果。
C语言考试试题及答案
C语言考试试题及答案一、选择题(每题2分,共20分)1. C语言的标识符可以由哪些字符组成?A. 数字、字母和下划线B. 数字和字母C. 数字、字母和特殊字符D. 字母和下划线2. 在C语言中,哪个关键字用于声明整型变量?A. floatB. intC. doubleD. char3. 下面哪个选项是C语言的逻辑运算符?A. &&B. ||C. >>D. ++4. 在C语言中,哪个函数用于输出字符串?A. printfB. scanfC. putcharD. puts5. 以下哪个选项是C语言的循环控制语句?A. ifB. switchC. whileD. break二、填空题(每题2分,共20分)6. 在C语言中,声明一个整型变量的关键字是______。
7. 以下程序段的输出结果是______。
```cint a = 5;printf("%d\n", a++ + ++a);```8. 在C语言中,用于定义数组的标识符是______。
9. 下面程序的输出结果是______。
```cint a = 3, b = 4;printf("%d\n", a > b ? a : b);```10. 在C语言中,用于表示整型常量的关键字是______。
三、判断题(每题2分,共20分)11. C语言中的变量在使用前必须先声明。
()12. 在C语言中,数组的下标从0开始。
()13. C语言的switch语句中,case后面必须跟一个break语句。
()14. 在C语言中,逗号运算符的优先级最高。
()15. C语言的函数可以没有返回值。
()四、编程题(每题20分,共40分)16. 编写一个C程序,实现以下功能:输入10个整数,计算并输出它们的平均值。
17. 编写一个C程序,实现以下功能:输入一个字符串,将其中的小写字母转换为大写字母,大写字母转换为小写字母,并输出结果。
计算机二级 C语言 程序设计基础试题七
《程序设计》考试试卷七1.C语言中,如果对函数类型未加说明,则函数的隐含类型为()A.duobleB. voidC.intD.char2.union data{ int i;char c;float f; };定义了()A.共用体类型dataB.共用体变量dataC.结构体类型dataD.J结构体变量data3.设a=3,b=4,表达式a>b?b:a的值是()A.3B. 4C.4:3D.04.下面对枚举类型的叙述,不正确的是()A.定义枚举类型用enum开头B.枚举常量的值是一个常数C.一个整数可以直接赋给一个枚举变量D.枚举值可以用来作判断比较5.求0到50的总和,不正确的程序段是()A. int i,sum;sum=0;for(i=0;i<51;i++) sum+=i;B. int i,sum;for(i=0,sum=0;i<51;sum+=i++);C. int i,sum;i=0;sum=0;for(i<51) {sum+=i;i++;}D. int i,sum=0;for(i=0; ;i++) {if(i>50) break; sum+=i;}6. 表达式 (int)3.6*3的值为()A.9 B. 10 C . 10.8 D.187.程序的结果为()main(){ int a=3,b=4,t=1;if (a>b){t=a;a=b;b=t;}printf(“%d”,a) }A. 3B.4C.1D.08.程序main(){ int a=1;switch(a){ case 1: printf(“1”);case 2: printf(“2”);default: printf(“other”);}} 的结果为()A.12otherB.1C.2D.Other9.函数strcmp(“A”, “B”)的值为( )A.0B.-1C.1D.310.下程序的结果为( )int f(a) int a;{ auto int b=0; static int c=3; b=b+1; c=c+1;return(a+b+c);}main(){ int a=2,i;for (i=0;i<3;i++)printf(“%d”,f(a));}A.789B.777C.8910D.911.合法的C语言标识符是()A.ab&cB.2abC._a1D./n12.若有定义int a=2,b=9,k;k=a+b++/a++;则k的值是()A.6.5B.7C.6D.813.标有/* */语句的输出结果为()int x=20; printf(“%d,%o,%x”,x,x,x);/* */A.20,20,20B.20,24,14C.20,14,24D.20,024,1414. 将p定义为指向含n个元素的一维数组的指针变量,正确的语句为()A. int (*p)[n];B. int *p[n];C.int p[n];D. int **p[n];15. 下面程序执行结果是()main(){ char c1,c2;int i=2;c1=’a’;c2=’c’;c1=c1+i; c2=c2-i;printf(“%c,%d”,c1,c2);/*’a’的ASCII码为97*/A.语法错误 B.99,97 C.c,a D.c,9716.请问:071^052的结果是()A.032B.016C.023D.02217.下面对函数的叙述,不正确的是()A.函数的返回值是通过函数中的return语句获得的B.函数不能嵌套定义C.一个函数中有且只有一个return语句D.函数中没有return语句,并不是不带回值18.下面的叙述,不正确的是()A.宏名无类型,其参数也无类型B.宏定义不是C语句,不必在行末加分号C.宏替换只是字符替换D.宏替换定义命令必须写在文件开头19.有定义int a[3][4],输入其3行2列元素的正确语句为()A.scanf(“%d”,a[3,2]);B.scanf(“%d”,*(*(a+2)+1))C.scanf(“%d”,*(a+2)+1);D.scanf(“%d”,*(a[2]+1));20.下面对指针变量的叙述,正确的是()A.指针变量可以加上一个指针变量B.可以把一个整形数赋给指针变量C.指针变量的值可以赋给指针变量D.指针变量不可以有空值,即该指针变量必须指向某一变量二、阅读程序,写出执行结果(每题5分,共20分)1、#include “stdio.h”main(){ int i,k,a[10],p[3];k=5;for ( i=0;i<10;i++) a[i]=i;for (i=0;i<3;i++) p[i]=a[i*(i+1)];for ( i=0;i<3;i++) k+=p[i]*2;printf(“%d\n”,k); }2、#include “stdio.h”main( ){ int a=2,*p,**pp;pp=&p;p=&a;a++;printf(“%d,%d,%d\n”,a,*p,**p p);}3、main( ){ union{ char s[2];int i;}g;g.i=0x4142;printf(“g.i=%x\n”,g.i);printf(“g.s[0]=%x\t g.s[1]=%x\n”,g.s[0],g.s[1]);g.s[0]=1;g.s[1]=0;printf(“g.s=%x\n”,g.i); }4、#include “stdio.h”main( ){ int x=1;void f1( ),f2( );f1( );f2(x);printf(“x=%d\n”,x);}void f1(void){ int x=3; printf(“x=%d\n”,x);}void f2(x)int x;{ printf(“x=%d\t”,x);}Q (下列每小题只有一个错误,请改正。
计算机等级考试二级C语言考前密卷(7)
(1)最简单的交换排序⽅法是 A)快速排序B)选择排序 C)堆排序D)冒泡排序(2)栈通常采⽤的两种存储结构是 A)线性存储结构和链表存储结构 B)散列⽅式和索引⽅式 C)链表存储结构和数组 D)线性存储结构和⾮线性存储结构(3)线性表的顺序存储结构和线性表的链式存储结构分别是 A)顺序存取的存储结构、顺序存取的存储结构 B)随机存取的存储结构、顺序存取的存储结构 C)随机存取的存储结构、随机存取的存储结构 D)任意存取的存储结构、任意存取的存储结构(4)完全不考虑程序的内部结构和内部特征,⽽只是根据程序功能导出测试⽤例的测试⽅法是 A)⿊箱测试法 B)⽩箱测试法 C)错误推测法 D)安装测试法(5)在结构化设计⽅法中,⽣成的结构图(SC)中,带有箭头的连线表⽰ A)模块之间的调⽤关系 B)程序的组成成分 C)控制程序的执⾏顺序 D)数据的流向(6)下列选项中,不属于模块间耦合的是 A)数据耦合 B)同构耦合 C)异构耦合 D)公⽤耦合(7)⼀个关系中属性个数为1时,称此关系为 A)对应关系 B)单⼀关系 C)⼀元关系 D)⼆元关系(8)为⽤户与数据库系统提供接⼝的语⾔是 A)⾼级语⾔B)数据描述语⾔(DDL) C)数据操纵语⾔(DML)D)汇编语⾔(9)相对于数据库系统,⽂件系统的主要缺陷有数据关联差、数据不⼀致性和 A)可重⽤性差 B)安全性差 C)⾮持久性 D)冗余性(10)需求分析阶段的任务是确定 A)软件开发⽅法 B)软件开发⼯具 C)软件开发费⽤ D)软件系统功能(11)下列关于C语⾔的说法不正确的是 A)C语⾔既具有⾼级语⾔的⼀切功能,也具有低级语⾔的⼀些功能 B)C语⾔中的每⼀条执⾏语句都必须⽤分号结束,分号不是C语⾔的⼀部分,是语句之间的分隔符号 C)注释可以出现在程序中任意合适的地⽅ D)命令⾏后⾯不能加分号,命令⾏不是C语⾔的语句(12)下列关于标识符的说法中错误的是 A)合法的标识符是由字母、数字和下划线组成 B)C语⾔的标识符中,⼤写字母和⼩写字母被认为是两个不同的字符 C)C语⾔的标识符可以分为三类,即关键字、预定义标识符和⽤户标识符 D)⽤户标识符与关键字不同时,程序在执⾏时将给出出错信息(13)下列合法的整型常量的表⽰是 A)098 B)oXde C)32767 D)0xDG(14)现在有以下定义,int a;double b;float c;char k;则下⾯的表达式a/b+c-k值的类型为: A)int B)double C)float D)char(15)假设整型变量a,b,c的值均为5,则表达式a+++b+++c++的值为 A)17 B)16 C)15 D)14(16)下列关于复合语句和空语句的说法错误的是 A)复合语句是由“{”开头,由“}”结尾的 B)复合语句在语法上视为⼀条语句 C)复合语句内,可以有执⾏语句,不可以有定义语句部分 D)C程序中的所有语句都必须由⼀个分号作为结束(17)关于printf()函数的返回值叙述正确的是 A)通常是本次调⽤中输出字符的个数 B)通常是输出的第⼀个数值 C)通常返回布尔值真 D)通常返回⾮零值(18)现有格式化输⼊语句,scanf("x=%dц,sumцy=%d,lineцz=%dL",&x,&y,&z);,现在已知在输⼊数据后,x,y,z的值分别是12,34,45,则下列数据是正确的输⼊格式的是 A)12,34,45 B)x=12,y=34,z=45 C)x=12C,sumy=34,z=45 D)x=12],sum]y=34,line]z=45 [注]:“ц”表⽰空格, 表⽰回车(19)设x,y,z,t均为整型变量,现有如下语句x=y=z=1;t=++x||++y&&++z;则执⾏这个语句后t的值为 A)2 B)1 C)0 D)不定值(20)现有如下程序段,此程序段编译有错误,则程序段的错误出在 #include main() { int a=30,b=40,c=50,d; d=a>30?b:c; switch(d){case a:printf("%d,",a); case b:printf("%d,",b); case c:printf("%d,",c); default:printf("#");}} A)default:printf("#");这个语句 B)d=a>30?b:c;这个语句 C)case a:printf("%d,",a); case b:printf("%d,",b); case c:printf("%d,",c);这三个语句 D)switch(d)这个语句(21)下列语句中,错误的是(x,y,a,b假设已经定义好) A)while(x=y)5; B)do x++ while(x==10); C)while(0); D)do 2;while(a==b);(22)若i,j已经定义为整型,则以下程序段中,内循环体的执⾏次数是 for(i=6;i;i--) for(j=0;j<5;j++){……} A)40 B)35 C)30 D)25(23)下列说法中错误的是 A)只能在循环体内使⽤break语句 B)在循环体内使⽤break语句可以使流程跳出本层循环体,从⽽提前结束本层循环 C)在while和do…while循环中,continue语句并没有使整个循环终⽌ D)continue的作⽤是结束本次循环,即跳过本次循环体中余下尚未执⾏的语句,接着再⼀次进⾏循环判断(24)阅读如下程序段 #include "stdio.h" main() { int x,a,b; scanf("%d",&x); a=b=x; for(;x!=0;) { if(x if(x>a)a=x; scanf("%d",&x);} printf("a=%d,b=%d\n",a,b);} 现输⼊如下。
C 语言程序设计试卷7
C 语言程序设计试卷(7)一、单项选择题(每题1分,共20分)1. 一个C语言程序是由( ① )。
A. 一个主程序和若干子程序组成B. 若干函数组成C. 若干过程组成D. 若干子程序组成2. 已知:char *s="\Name\\Address\n";则s所指的字符串的长度为( ① ).A. 18B. 16C. 13D. 143. 若有条件表达林(exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是( ① )。
A. (exp==0)B. (exp!=0)C. exp==1D. (exp!=1)4. 已知:a=b=c=1且均为int型变量,则执行以下语句:++a||++b&&++c;变量a值为( ① ),b值为( ② )。
①A. 不正确B. 0C. 2D. 1②A. 1B. 2C. 不正确D. 05. C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是( ① )。
A. 地址传递B. 单向值传递C. 双向值传递。
即由实参传给形参,再由形参传回给实参D. 由用户指定传递方式6. 以下正确的函数形式是( ① )。
A.double fun1(int x,int y){z=x+y;return z;}B.fun1(int x, y){int z;return z;}C.fun1(x,y){int x,y;double z;z=x+y;return z;}D.double fun1(int x, int y){double z;z=x+y;return z;}7. C语言允许函数值类型缺省定义,此时该函数值隐含的类型是( ① )。
A. float型B. int型C. long型D. double型8. 以下程序有语法性错误,有关错误原因的正确说法是( ① )。
void main(void){int k;void prt_char();……k=prt_char(G);……}A. 语句void prt_char();有错,它是函数调用语句,不能用void说明。
计算机等级考试二级C语言模拟试卷(七)
全国计算机等级考试二级C语言模拟试卷(七)一、选择题(每小题1分,共40分)1、下列关于循环队列的叙述,正确的是A.循环队列是队列的一种顺序存储结构B.循环队列是队列的一种链式存储结构C.循环队列是非线性结构D.循环队列是一种逻辑结构2、下列叙述中,正确的是A.栈是一种先进先出的线性表B.队列是一种后进先出的线性表C.栈和队列都是非线性结构D.栈和队列都是操作受限的线性结构3、一棵二叉树共有25个节点,其中5个叶子节点,那么度为1的节点数为A.4 B.6 C.10 D.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.确定软件系统的性能需求C.制定软件集成测试计划D.需求规格说明书审评9、在黑盒测试方式中,设计测试用例的主要根据是A.程序外部功能B.程序内部逻辑C.程序数据结构D.程序流程图10、在软件设计中不使用的工具是A.系统结构图B.程序流程图C.PAD图D.数据流图(DFD图)11、针对简单程序设计,以下叙述的实施步骤正确的是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 <stdio.h>main(){int a=0,b=0,c=0;c=(a-=a-5); a=b,b+=4;p rintf(“%d, %d, %d\n”,a,b,c)}程序运行后输出的结果是A.0,0,0 B.0,4,5 C.4,4,4 D.4,4,518、设变量均已正确定义并且赋值,以下与其他三组输出结构不同的一组语句是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.0 B.0.000001 C.1 D.100.020、有以下程序#include <stdio.h>main(){ int a;s canf(“%d”,&a);if (a++<9) printf((“%d\n”,a);else printf(“%d\n”,a--);}程序运行时键盘输入9<回车>,则输出的结果是A.8 B.9 C.10 D.11 21、有以下程序#include <stdio.h>int 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;default:s+=4;}printf("%d,",s);}return 0;}程序运行后的结果是A.1,2,4, B.1,3,6 , C.3,6,10, D.3,10,14, 22、若k是int类型变量,且有以下for语句for(k=-1;k<0;k++)printf(“****\n”);下面关于语句执行情况的叙述中正确的是A.循环体执行一次B.循环体执行两次C.循环体一次也不执行D.构成无限循环23、有以下程序#include <stdio.h>int 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);}return 0;}程序运行后输出的结果是A.123456 B.1B3D5F C.A2C4E6 D.ABCDEF24、设有如下定义语句int m[ ]={2,4,6,8},*k=m;以下选项中,表达式的值为6的是A.*(k+2) B.k+2 C.*k+2 D.*k+=225、fun函数的功能是:通过键盘输入给x所指的整型数组所有元素赋值。
2020年河北专接本C语言模拟试卷_7
河北省普通高校专科接本科教育考试C语言程序设计模拟试卷七(考试时间:75分钟)(总分:150分)说明:请在答题纸的相应位置上作答,在其它位置上作答的无效。
一、单项选择题(本大题共20小题,每小题2分,共40分。
在每小题给出的四个备选项中,选出一个正确的答案,井将所选项前的字母填写在答题纸的相应位置上。
)1.以下正确的C 语言自定义标识符是()A._la B.2a_ C.Do D.a122.在C 语言中,错误的常数表示是()A.OL B.Ox6aL C.'6'D. 1. 234E3. 53.设int a,x =2; 执行语句a =x>0?3*x:x =l0;后,变量x 的值是()A.1B.2C.6D.104.设有以下程序段:i n t x =2,y =2,z =O,a;a =++x 11 ++y&&z++;printf("%cl, %d, %d\n" , x , y , z ) ;执行后输出的结果是()A.2, 2, 0B.3, 3, 1C.3, 2, 0D. 3, 2, 15.在C 语言中,字符串"\ \TOP\t\65\" "的长度是(A. 5B. 7C. 9D.1�6.设float x;, 由键盘输入:12. 45, 能正确读入数据的输入语旬是()A.scanf("%5f" , &x);C.scanf("%f" , x );B.scanf("%5d" , &x);D.scanf("%s" , &x)7.逗号表达式a =2*6,a*3, a+5的值是() A.12B.17C.368.以下叙述中正确的是()A.break 语句只能用千switch 语句中D.41B.continue 语句的作用是:使程序的执行流程跳出包含它的所有循环-28 -C.break 语句只能用在循环体内和switch 语旬体内D.在循环体内使用break 语旬和continue 语句的作用相同9.在C 语言中,下列运算符中结合性属千自右向左的是()A.&&B.10.设int (*p)[4];,则p 的含义是(A. 指向整型变量的指针数组B.指向4个整型变量的函数指针C.4个指向整型变量的指针变量C.«)D.指向具有4个整型元素的一维数组的指针11.设char x[] [10]={ "Windows"," d os"," u nix"} ;, 执行printf ("%c" , x [l] [2]) ; 后输出的结果是()A.nB.iC.0 D.->D.s12.设int a[4][3]={1,2,3,4,5,6, 7,8,9, 10, 11, 12};int(*ptr) [3]=a,*p=a[O] ;, 则与数组元素a[l][2]等价的是(')A.*((p+2)+3)B. *(*(p+3))C.(*ptr+l)+2D.*((ptr+ 1) [2])13.设int a =ll, b =2;, 执行下述程序段后,变量a 和b 的值分别是()do{a/=b++; }whi le (a>b );A.1, 3B.1, 414.在C 语言中,下列错误的说法是(A. 函数可以递归调用B.不允许在函数中再定义函数C.2, 3D.2, 4C.递归程序不可能用非递归算法实现D.对千continue 语句,可以用过改变程序的结构而不使用它15.设int a[2] [3]={ {l}, {2, 3}};, 则元素a[l][OJ 的值是()A.B.1C.2D.316.C 语言结构体类型变量在程序执行期间()A.所有成员一直驻留在内存中C.部分成员驻留在内存中B.只有一个成员驻留在内存中D.没有成员驻留在内存中17.设struct student{char name[lO];int sex;int num;} S, *p=&s;以下对结构变量s中成员num的非法引用是().p-)num B. (*p).num C. s.num 18.下列说法中正确的是(). C语言的预处理命令只有宏定义和文件包含B.预处理命令只能出现在主函数之前C.所有预处理命令都是以符号"i=t"开头D.有些预处理命令不是在源程序编译之前处理) D.student.num19.已有定义int(*p) (); 指针p可以(.代表函数的返回值 B.指向函数的入口地址C.表示函数的类型D.表示函数返回值的类型20.下列属千文件包含的命令是()fl. tldei rn e N 2:_i13.tlendj 1C.J:linclude "stdio. h"D.!:/else二、阅读程序题(本题共5小题,每小题6分,共30分,请写出程序的运行结果)1.【程序】#include <stdio. h> main(){ char chl ='A', c h2='B'; switch (chl){ case'A': switch (ch2){ case'B': printf ("Good! \n") ;b reak;case'A': printf ("Better! \n") ;b reak;case'B': printf ("Best! \n") ; break;-29 -【运行结果】2.【程序】#include <stdio. h) main 0{ int num=ll, l en=O, i=O, a[30];do { a[len++]=num%2; num=num/2; } while(num); for(i=O;i<len;i++)printf("%d", a[len-i-1]);printf ("\n") ;}【运行结果】3.【程序】#include <stdio. h> main(){ int x=O,y=5,z=3; while(z--)O&&++x<5) y=y-1;printf("%d,%d,%d\n",x,y,z);}【运行结果】4.【程序】tlinclude <stdio. h) main(){ int a =l, b =2,c =3,d =O; if (a ==l)if(b!=2) if(c ==3) d =l; else d =2; else if(c!=3) d =3; else d =4; else d =5;printf(11%d\n 11,d); 【运行结果】【运行结果】三、程序填空题(共3题,每空5分,共35分)1.对含有10个元素的数组a 先按元素的存储次序倒序输入,再按其正序输入。
大学_C语言程序设计试卷及答案
C语言程序设计试卷及答案C语言程序设计试卷一、单项选择题(20分,每题2分)1.A2.A3.B4.A5.C6.B7.C8.A9.C 10.C二、填空题( 30分,每空2分)(1) 14(2) 1(3) b,c(4) a,c(5) a, b(6) 0(7) 函数说明(8) 函数名(9) 圆括号中的形式参数(10) 0(11) "C:\\TC\\LIB"(12) "C:\\TC\\LIB"(13) "He said:\"I\ m a student.\""(15) -t三、写出程序的运行结果(30分,每题10分)1. 362. efgh3. (1) 函数sub( )的功能是根据当前实参i的值控制其for循环的次数,进一步控制运算:product__=2的次数。
(注:非标准答案,表述相近既可)(2) 运行结果:sum0=1sum1=3sum2=7sum3=15四、编程(完形填空)(20分,每题10分)1.(1) 0(2) =(3) ||(4)(5) \n2.(7) \0(8) i++(9) str2[i]-str1[i](10) %dC语言程序设计试卷答案一、单项选择题(20分,每题2分)1.若整型变量a、b、c、d中的值依次为:1、4、 3、2。
则条件表达式(ab?a:b)(cd?c:d)的值是。
A)1 B)2 C)3 D)02.for(i=0;i10;i++)if(i〈=5) break;则循环结束后i的值为A)0 B)1 C)5 D)103.下面正确的字符常量是:A)“c” B)\\ C)W D)4.C语言中,运算对象必须是整型的运算符是:A)% B)/ C)__ D)+5.数字字符0的ASCII值为48,若有以下程序{char a=1, b=2;printf("%c,",b++);printf("%d\n",b-a);}程序运行后的输出结果是。
全国计算机等级考试二级C语言笔试模拟试题(7)-中大网校
全国计算机等级考试二级C语言笔试模拟试题(7)总分:100分及格:60分考试时间:120分每小题1分,共40分(1)如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是A. e3,e1,e4,e2B. e4,e3,e2,e1C. e3,e4,e1,e2D. 任意顺序(2)下列关于标识符的说法中错误的是A. 合法的标识符是由字母、数字和下划线组成B. C语言的标识符中,大写字母和小写字母被认为是两个不同的字符C. C语言的标识符可以分为三类,即关键字、预定义标识符和用户标识符D. 用户标识符与关键字不同时,程序在执行时将给出出错信息(3)下列常量中,为不合法的实型常量表示的是A. .0032B. 0.0C. 0.3242E8D. .E3(4)字符型数据在机器中是用ASCII码表示的,字符"5"和"7"在机器中表示为A. 10100011和01110111B. 01000101和01100011C. 00110101和00110111D. 01100101和01100111(5)以下说法错误的是A. 一个算法应包含有限个步骤B. 在计算机上实现的算法是用来处理数据对象的C. 算法中指定的操作,不能通过已经实现的基本运算执行有限次后实现D. 算法的目的是为了求解(6)下列程序执行后的输出结果是main(){ int a[3][3], *p,i; p=&a[0][0]; for(i=1; i<9; i++)p[i]=i+1; printf("%d\n",a[1][2]);}A. 3B. 6C. 9D. 随机数(7)在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。
其中数据独立性最高的阶段是A. 数据库系统B. 文件系统C. 人工管理D. 数据项管理(8)下列程序执行后的输出结果是void func(int *a,int b[]){ b[0]=*a+6; } main(){int a,b[5]; a=0; b[0]=3; func(&a,b); printf("%d\n",b[0]); }A. 6B. 7C. 8D. 9(9)数据处理的最小单位是A. 数据B. 数据元素C. 数据项D. 数据结构(10)数据库系统的核心是A. 数据库B. 数据库管理系统C. 模拟模型D. 软件工程(11)下列关于C语言数据文件的叙述中正确的是A. 文件由ASCII码字符序列组成,C语言只能读写文本文件B. 文件由二进制数据序列组成,C语言只能读写二进制文件C. 文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件D. 文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件(12)下面程序的文件名为t.exe,在DOS下输入的命令行参数如下:t to meet me<回车> 则程序输出的结果是#include "stdio.h" main(argc,argv)int argc;char*argv[]; {int i; printf("%d\n",argc);}A. 3B. 4C. 2D. 以上答案都不正确(13)在单链表中,增加头结点的目的是A. 方便运算的实现B. 使单链表至少有一个结点C. 标识表结点中首结点的位置D. 说明单链表是线性表的链式存储实现(14)以下程序的输出结果是main(){ int x=1,y=3; printf("%d,",x++); { int x=0;x+=y*2; printf("%d,%d, ",x,y); } printf("%d,%d\n",x,y); }A. 1,6,3,1,3B. 1,6,3,6,3C. 1,6,3,2,3D. 1,7,3,2,3(15)在计算机中,算法是指A. 加工方法B. 解题方案的准确而完整的描述C. 排序方法D. 查询方法(16)数据库的故障恢复一般是由A. 数据流图完成的B. 数据字典完成的C. DBA完成的D. PAD图完成的(17)有如下定义struct person{char name[9];int age;}; struct person class[10]={"John",17,"paul",19,"Mary",18,"Adam",16,}; 根据上述定义,能输出字母M的语句是A. printf("%c\n",class[3].name);B. printf("%c\n",class[3].name[1]);C. printf("%c\n",class[2].name[1]);D. printf("%c\n",class[2].name[0]);(18)请选出可用作C语言用户标识符的是A. void,define,WORDB. a3_b3,_123,IFC. FOR,--abc,CaseD. 2a,Do,Sizeof(19)下列语句中,错误的是(x,y,a,b假设已经定义好)A. while(x=y)5;B. dox++while(x==10);C. while(0);D. do2;while(a==b);(20)以下不正确的叙述是A. 在C程序中,逗号运算符的优先级最低B. 在C程序中,APH和aph是两个不同的变量C. 若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D. 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值(21)若有以下调用语句,则不正确的fun函数的首部是main(){ …int a [50],n; …fun(n, &a[9]); …}A. voidfun(intm,intx[])B. voidfun(ints,inth[41])C. voidfun(intp,int*s)D. voidfun(intn,inta)(22)下列叙述中,不属于软件需求规格说明书的作用的是A. 便于用户、开发人员进行理解和交流B. 反映出用户问题的结构,可以作为软件开发工作的基础和依据C. 作为确认测试和验收的依据D. 便于开发人员进行需求分析(23)栈通常采用的两种存储结构是A. 线性存储结构和链表存储结构B. 散列方式和索引方式C. 链表存储结构和数组D. 线性存储结构和非线性存储结构(24)若运行以下程序时,从键盘输入ADescriptor<CR>(<CR>表示回车),则下面程序的运行结果是#include <stdio.h> main(){char c; int v0=1,v1=0,v2=0; do{switch(c=getchar()){case ′a′:case ′A′: case ′e′:case ′E′: case ′i′:case ′I′: case ′o′:case ′O′: case ′u′:case ′U′:v1+=1; default:v0+=1;v2+=1; } }while(c!=′\n′); printf ("v0=%d,v1=%d,v2=%d\n",v0,v1,v2);}A. v0=7,v1=4,v2=7B. v0=8,v1=4,v2=8C. v0=11,v1=4,v2=11D. v0=13,v1=4,v2=12(25)下面函数的功能是将指针t2所指向的线性链表,链接到t1所指向的链表的末端。
c语言试题7
第七章结构型、共同型和枚举型一、单项选择题1.对以下结构定义:struct { int len; char *str ; } *p; 表达式(*p)->str++中的++加在(D)A. 指针str上B. 指针p上C. str所指的内容上D. 表达式语法有错2.存放100个学生的数据,包括学号,姓名,成绩。
在如下的定义中,不正确的是(B)。
A.struct student { int sno; char name[20]; float score } stu[100];B.struct student stu[100] { int sno; char name[20]; float score } ;C.struct { int sno; char name[20]; float score } stu[100];D.struct student { int sno; char name[20]; float score } ; struct student stu[100];3.设有定义语句struct { int x ; int y ;} d[2]={{1,3}, {2,7}};则printf (“%d\n”, d[0].y/d[0].x*d[1].x ); 的输出是(D)。
A.0 B.1 C.3 D.64.设有定义语句enum team {my, your = 4, his, her=his+10} ;则printf(“%d,%d,%d,%d\n”, my, your, his, her) ;的输出是(D)。
A.0,1,2,3 B.0,4,0,10 C.0,4,5,15 D.1,4,5,15 5.以下对枚举类型名的定义中正确的是(B)。
A.enum a={one, two, three}; B.enum a {a1, a2, a3} ;C.enum a={‘1’, ’2’, ’3’} ; D.enum a {“one”, ”two”, ”three”} ;6.若有如下定义,则printf (“%d\n”, sizeof (them)) ; 的输出是(C)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
试卷七一、选择题(1-20每小题2分,共40分)(1) 以下选项中属于C语言的数据类型是A) 复数型 B) 逻辑型 C) 双精度型 D) 集合型(2) 在C语言中,不正确的int类型的常数是A) 32768 B) 0 C) 037 D) 0xAF(3) 语句:printf("%d",(a=2)&&(b= -2);的输出结果是A) 无输出 B) 结果不确定 C) -1 D) 1(4) 下列描述中不正确的是A) 字符型数组中可以存放字符串B) 可以对字符型数组进行整体输入、输出C) 可以对整型数组进行整体输入、输出D) 不能在赋值语句中通过赋值运算符"="对字符型数组进行整体赋值(5) 设有如下定义:int x=l,y=-1;,则语句:printf("%d\n",(x--&++y));的输出结果是A) 1 B) 0 C) -1 D) 2(6) 当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是A) c=b=a;B) (a=c) ‖(b=c) ;C) (a=c) &&(b=c); C) a=c=b;(7) 以下程序的输出结果是A) 10 1 9 2 B) 9 8 7 6 C) 10 9 9 0 D) 10 10 9 1main( ){int x=10,y=10,i;for(i=0;x>8;y=++i)printf("%d,%d ",x--,y);}(8) 以下程序的输出结果是A) 5 2 B) 5 1 C) 5 3 D) 9 7main( ){int i,x[3][3]={9,8,7,6,5,4,3,2,1},*p=&x[1][1];for(i=0;i<4;i+=2)printf("%d ",p[i]);}(9) 以下程序的输出结果是A)6 B) 6789 C) '6' D) 789main( ){char a[10]={'1','2','3','4','5','6','7','8','9',0},*p;int i;i=8;p=a+I;printf("%s\n",p-3);}(10) 以下程序的运行结果是A) 运行后报错 B) 6 6 C) 6 12 D) 5 5#include "stdio.h"main( ){int a[ ]={1,2,3,4,5,6,7,8,9,10,11,12,};int *p=a+5, *q=NULL;* q=*(p+5);printf("%d %d \n",*p,*q);}(11) 以下说法中正确的是A) #define和printf都是C语句 B) #define是C语句,而printf不是C) printf是C语句,但#define不是 D) #define和printf都不是C语句(12) 语句:printf("%d \n",12 &012);的输出结果是A) 12 B) 8 C) 6 D) 012(13) 能正确表示a和b同时为正或同时为负的逻辑表达式是A) (a>=0‖b>=0)&&(a<0‖b<0)B) (a>=0&&b>=0)&&(a<0&&b<0)C) (a+b>0)&&(a+b<=0)D) a*b>0(14) 以下程序的输出结果是A) 2 0 B) 3 1 C) 3 2 1 D) 2 1 0main( ){int n=4;while(n--)printf("%d ",--n);}(15) 若已定义:int a[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1] 地址的表达式是A) p+1 B) a+1 C) a++ D) ++p(16) 以下程序的输出结果是A) 17,021,0x11 B) 17,17,17 B) 17,0x11,021 D) 17,21,11main( ){int k=17;printf("%d,%o,%x \n",k,k,k);}(17) 以下程序的输出结果是A) -1 1 B) 0 1 C) 1 0 D) 0 0main( ){ int a= -1,b=1,k;if((++a<0)&& ! (b-- <=0))printf("%d %d\n",a,b);elseprintf("%d %d\n",b,a);}(18) 若有说明:long *p,a;则不能通过scanf语句正确给输入项读入数据的程序段是A) *p=&a; scanf("%ld",p);B) p=(long *)malloc(8); scanf("%ld",p);C) scanf("%ld",p=&a);D) scanf("%ld",&a);(19) 若有以下定义和语句:double r=99,*p=&r;*p=r;则以下正确的叙述是A) 以下两处的*p含义相同,都说明给指针变量p赋值B) 在"double r=99,*p=&r;"中,把r的地址赋值给了p所指的存储单元C) 语句"*p=r;"把变量r的值赋给指针变量pD) 语句"*p=r;"取变量r的值放回r中(20) 以下程序的输出结果是A) 编译不通过,无输出B) aceg C) acegi D) abcdefghimain( ){int i;for(i='A';i<'I';i++,i++)printf("%c",i+32);printf(" \n");}二、填空题(每空4分,共28分)(1) 以下程序的功能是:从键盘上输入若干个学生的成绩,统计计算出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。
请填空。
main( ){float x[1000],sum=0.0,ave,a;int n=0,i;printf("Enter mark:\n");scanf("%f",&a);while(a>=0.0&& n<1000){sum+ ___(1)___ ;x[n]= _____(2)_____ ;n++;scanf("%f",&a);}ave= ____(3)____ ;printf("Output:\n");printf("ave=%f\n",ave);for (I=0;I<n;I++)if (_____(4)_____)printf ("%f\n",x[I]);}(2) 以下程序中,主函数调用了LineMax函数,实现在N行M列的二维数组中,找出每一行上的最大值。
请填空。
#define N 3#define M 4void LineMax(int x[N][M]){int i,j,p;for(i=0; i<N;i++){p=0;for(j=1; j<M;j++)if(x[i][p]<x[i][j]) ____(5)____ ;printf("The max value in line %d is %d\n", i, _____(6)_____ );}}main(){int x[N][M]={1,5,7,4,2,6,4,3,8,2,3,1};______(7)______;}三、阅读程序题(每题5分共20分)(1)下列程序的输出结果是__________。
#include "stdio.h"#include"string.h"main( ){char b[30],*chp;strcpy(&b[0],"CH");strcpy(&b[1],"DEF");strcpy(&b[2],"ABC");printf("%s \n",b);}(2) 下列程序的输出结果是___________ 。
int t(int x,int y,int cp,int dp)cp=x*x+y*y;dp=x*x-y*y;}main( ){int a=4,b=3,c=5,d=6;t(a,b,c,d);printf("%d %d \n",c,d);}(3) 下列程序中字符串中各单词之间有一个空格,则程序的输出结果是______________ 。
#include "string.h"#include"stdio.h"main( ){char strl[]="How do you do",*p1=strl;strcpy(strl+strlen(strl)/2,"es she");printf("%s \n",pl);}(4) 以下程序的运行结果是__________#include <stdio.h>main( ){int k=4, m=1, p;p=func(k,m); printf("%d,",p);p=func(k,m); printf("%d \n",p);}func(int a, int b){static int m=0, i=2;i+=m+1;m=i+a+b;return m;}四、程序题(10分)1.编写一程序,将字符串中的第m个字符开始的全部字符复制成另一个字符串.要求在主函数中输入字符串及m的值并输出复制结果,在被调用函数中完成复制.试编程.。