2012年9月c语言考试真题
2012年9月份二级C语言答案汇总(100套题)
.,, ( 共 4 套 )来自52、 17、 21,,,,,,,,,,,,,,,,,,,, 十二、四舍五入操作
.,,,,
.(共 3 套 )
16,,,,,,,,,,,,,,,,,,,, 十三、链表操作
.,,,,,,,,
.( 共 1 套 )
22、 85. ,,,,,,,,,,,,,, 十四、其它
.,,,,,,,,,,,
for(i=1;i<=1000;i++) if((i%7==0||i%11==0)&&(i%77!=0)) a[cnt++]=i; *n=cnt;
}
3. 参考答案 :
1. n-- 2.s[i]=s[n] 参考答案 :
3.s[n]=t
1.s[j]=s[i]; 应改为 :s[j++]=s[i]; 2.s[j]= ” \0” ;应改为 :s[j]= ’ \0’ ; 参考答案 :
void fun(int x, int pp[], int *n)
{
int i,cnt=0;
for(i=1;i<=x;i++) if((x%i==0)&&(i%2!=0)) pp[cnt++]=i;
*n=cnt;
}
4. 参考答案 :
1.i<=n 2.|| 3.1.0 参考答案 : 1.void fun(char *s,int a,int b) 应改为 void fun(char *s,int *a,int *b) 2.a++ 应改为 (*a)++; 3.b++ 应改为 (*b)++; 参考答案 :---------26 分 void fun(char *tt, int pp[]) {int i;
2012年9月全国计算机c语言试题
2006年4月全国计算机等级考试二级C一、选择题((1)一(10)每题2分,(11)一(50)每题1分,共60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)下列选项中不属于结构化程序设计方法的是A)自顶向下B)逐步求精 C)模块化 D)可复用(2)两个或两个以上模块之间关联的紧密程度称为A)耦合度B)内聚度C)复杂度 D)数据传输特性(3)下列叙述中正确的是A)软件测试应该由程序开发者来完成B)程序经调试后一般不需要再测试C)软件维护只包括对程序代码的维护D)以上三种说法都不对(4)按照“后进先出”原则组织数据的数据结构是A)队列 B)栈 C)双向链表 D)二叉树(5)下列叙述中正确的是A)线性链表是线性表的链式存储结构B)栈与队列是非线性结构C)双向链表是非线性结构D)只有根结点的二叉树是线性结构(6)对如下二叉树ABDECF进行后序遍历的结果为A)ABCDEF B)DBEAFC C)ABDECF D)DEBFCA(7)在深度为7的满二叉树中,叶子结点的个数为A)32 B)31 C)64 D)63(8)“商品”与“顾客”两个实体集之间的联系一般是A)一对一 B)一对多 C)多对一 D)多对多(9)在E-R图中,用来表示实体的图形是A)矩形 B)椭圆形 C)菱形 D)三角形(10)数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是A)DB包含DBS和DBMS B)DBMS包含DB和DBSC)DBS包含DB和DBMS D)没有任何关系(11)以下不合法的用户标识符是A)j2_KEY B)Double C)4d D)_8_(12)以下不合法的数值常量是A)011 B)1e1 C)8.0E0.5 D)0xabcd(13)以下不合法的字符常量是A)′\018′B)′\"′C)′\\′D)′\xcc′(14)表达式3.6-5/2+1.2+5%2的值是A)4.3 B)4.8 C)3.3 D)3.8(15)以下能正确定义字符串的语句是A)char str[]={′\064′}; B)char str="kx43";C)char str="; D)char str[]="\0";(16)以下数组定义中错误的是A)int x[][3]={0};B)int x[2][3]={{l,2},{3,4},{5,6}};C)int x[][3]={{l,2,3},{4,5,6}};D)int x[2][3]={l,2,3,4,5,6};(17)若要求从键盘读入含有空格字符的字符串,应使用函数A)getc() B)gets() C)getchar()D)scanf()(18)以下四个程序中,完全正确的是A)#include <stdio.h>B)#include <stdio.h>main();main(){/*programming*/{/*/ programming /*/printf("programming!\n");}printf("programming!\n");}C) #include <stdio.h>D) include <stdio.h>main()main(){/*/*programming*/*/{/*programming*/printf("programming!\ n");}printf("programming!\n");}(19)若有定义:floatx=1.5;int a=1,b=3,c=2;则正确的switch语句是A)switch(x)B)switch((int)x);{case 1.0:printf("*\n"); {case 1:printf("*\n");case 2.0:printf("**\n");} case 2:printf("**\n");}C)switch(a+b)D)switch(a+b){case 1:printf("*\n");{case 1:printf("*\n");case 2+1:printf("**\n");}case c:printf("**\n");}(20)若各选项中所用变量已正确定义,函数fun中通过return语句返回一个函数值,以下选项中错误的程序是A)main()B)float fun(int a,int b){……}{……x=fun(2,10);……}main()float fun(int a,int b){……}{……x=fun(i,j);……}C)float fun(int,int);D)main()main() {float fun(int i,int j);{……x=fun(2,10);……} ……x=fun(i,j);……}float fun(int a,int b){……} float fun(int a,int b){……}(21)在以下给出的表达式中,与while(E)中的(E)不等价的表达式是A)(!E==0) B)(E>0‖E<0) C)(E==0) D)(E!=0)(22)要求通过while循环不断读入字符,当读入字母N时结束循环。
2012秋C程序设计试卷+答案
{ int t,d;
float p;
scanf("%d,%f",&t,&p);
switch(04)){
case 0: d=0;break;
case 1: d=2;break;
case 2:
case 3:d=5;break;
case 4:
case 5:
case 6: d=8;break;
C)有逻辑类型,但没有构造类型D)没有逻辑类型也没有构造类型9;\"'B)'\031' C)'\b' D)'\0xa5'
24、已知梯形的上底为a,下底为b,高为h,用C语言写的正确的面积公式是()。
A)1/2*(a+b)*h B)1.0/2*(a+b)*h C)1.0/2.0(a+b)h D)1.0\2*a+b*h
B)main函数可以在任何地方出现。一个C程序必须有且仅有一个main函数
C)main函数必须出现在所有函数之后。一个C程序只能有一个main函数
D)main函数出现在固定位置。一个C程序可以有多个main函数
22、C语言中,下列叙述正确的是()。
A)没有逻辑类型,但有构造类型B)既有逻辑类型也有构造类型
34、若有int s[4]={1,2,3,4};,则s[s[0]+2*s[2]-s[3]]的值是()
A)1 B)2 C)3 D)4
35、C语言程序的三种基本结构是()
A)嵌套结构、递归结构、循环结构B)递归结构、循环机构、转移结构
C)顺序结构、选择结构、循环结构D)循环结构、转移结构、顺序结构
36、若函数的调用形式如下:
2012年9月份全国二级C语言编程题(2012)
1.假定输入的字符串中只包含字母和*号。
请编写函数fun,它的功能是:除了字符串前导和尾部的*号之外,将串中其它*号全部删除。
形参h已指向字符串中第一个字母,形参p已指向字符串中最后一个字母。
在编写函数时,不得使用C语言提供的字符串函数。
例如,字符串中的内容为;****A*BC*DEF*G*********删除后,字符串中的内容应当是;****ABCDEFG********。
在编写函数时,不得使用C语言提供的字符串函数。
void fun(char *a,char *h,char *p){char b[81],*q;int i=0,j;q=a;while(q<h) {b[i++]=*q;q++;}while(h<=p)if(*h!='*'){b[i++]=*h;h++;}else h++;p++;while(*p){b[i++]=*p;p++;}b[i]='\0';i=j=0;while(b[i]) a[j++]=b[i++];a[i]='\0';}2.请编写一个函数fun,它的功能是:根据以下公式求π的值(要求满足精度0.0005,即某项小于0.0005时停止迭代):程序运行后,如果输入精度0.0005,则程序输出为3.140578。
double fun ( double eps){ int i=1;double pi=0.0,a=1.0,b=1.0;while(a/b>=eps){pi=pi+a/b;a=a*i;b=b*(2*i+1);i++;}return 2*pi;}3.请编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串。
若两个字符串长度相同,则返回第一个字符串。
例如,输入beijing <CR> shanghai <CR>(<CR>为回车键)函数将返回shanghai。
2012年9月全国计算机的等级考试二级C语言笔试试卷答案详解及解析汇报汇报
(1)下列链表中,其逻辑结构属于非线性结构的是_________。
A)双向链表B) 带链的栈 C) 二叉链表D) 循环链表(1)C 【解析】见/uuxzhang上全国计算机二级考试参考资料_数据结构.pps 中第13张说明:链表存储结构是数据的存储结构;排除链表因素,从数据逻辑结构来看,线性结构包括线性表、栈和队;非线性结构包括树形结构和图形结构,所以二叉树是树形结构,即非线性结构。
(2)设循环队列的存储空间为Q(1:35),初始状态为front=rear=35。
现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为A) 20 B) 0或35 C) 15 D) 16(2)B 【解析】见/uuxzhang上全国计算机二级考试参考资料_数据结构.pps中第100-101张关于入队(Q.rear=Q.rear+1)与退队(Q.front=Qfront+1)运算规则,此外第一次入队为Q.rear=1;第一次退队为Q.front=1。
并假定循环队列最大个数为maxsize,其相应存储空间为1: maxsize,则循环队列的入队与退队图例和运算后元素个数的确定原则如下:循环队列中的元素个数或称队列长度通用计算公式:(Q.rear-Q.front+ maxsize)% maxsize 例如,Q.rear=20,Q.front=15,则循环队列中的元素个数=(20-15+35)%35=5;Q.rear=40,Q.front=15,则循环队列中的元素个数=(40-15+35)%35=25;本题根据Q.rear=Q.front=15,maxsize=35,则循环队列中元素个数=(15-15+35)%35=0或35;(3)下列关于栈的叙述中,正确的是A) 栈底元素一定是最后入栈的元素B) 栈操作遵循先进后出的原则C) 栈顶元素一定是最先入栈的元素D) 以上三种说法都不对(3)B 【解析】见/uuxzhang上全国计算机二级考试参考资料_数据结构.pps中第63张幻灯片说明:栈元素入、退原则:先进后出(FILO)或后进先出(LIFO)。
全国计算机等级考试二级C语言机试真题2012年09月
全国计算机等级考试二级C语言机试真题2012年09月(总分:100.00,做题时间:90分钟)一、程序填空题(总题数:1,分数:30.00)1.下列给定程序中已建立一个带头结点的单向链表,链表中的各结点按结点数据域中的数据递增有序链接。
函数fun的功能是:把形参x的值放入一个新结点并插入链表中,使插入后各结点数据域中的数据仍保持递增有序。
请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!试题程序:#include <stdio.h>#include <stdlib.h>#define N 8typedef struct listint data;struct 1ist * next;SLIST;void fun(SLIST * h, int x)SLIST * P, * q, * s;s=(SLIST* )malloc(sizeof(SLIST));/********** found********** /s->data=______;q=h;p=h->next;while(p! =NULL && x>p->data)/********** found********** /q=______;p=p->next;s->next=p;/********** found********** /q->next=______;SLIST * creatlist(int * a)SLIST * h, * p, * q; int i;h=p=(SLIST * )malloc(sizeof(SLIST));for(i=0; i<N; i ++)q=(SLIST * )malloc(sizeof(SLIST));q->data=a[i]; p->next=q; p=q;p->next=0;return h;void outlist(SLIST * h)SLIST * p;p=h->next;if(p==NULL)printf("/nThe list is NULL! /n");elseprintf("/nHead");do printf("->% d", p->data);p=p->next;while(p!=NULL);printf("->End/n");main()SLIST * head; int x;int a[N]=11, 12, 15, 18, 19, 22, 25, 29;head=creatlist(a);printf("/nThe list before inserting: /n");outlist(head);printf("/nEnter a number: ");scanf("%d", &x);fun(head, x);printf("/nThe list after inserting: /n");outlist(head);(分数:30.00)填空项1:__________________ (正确答案:(1)x (2)p (3)s)解析:[考点] 本题考查:链表的基本操作。
2012年秋VC试卷(附答案)
2012年秋江苏省计算机等级考试(二级)试题VC++语言程序设计(第二部分)(附答案)一、选择题(用答题卡答题,答案依次填在21~30答题号内)21. 以下选项中,均不能作为用户标识符的选项是 21 。
A.A, P_0, do B.float, 2a0, -A C.b_a, goto, int D.-123, temp, INT22. 设有说明语句:“int *p[5];”,正确描述该语句的是 22 。
A.p是一个指向数组的指针,所指向的数组是5个int 类型的元素B.p是一个指向某数组中第5个元素的指针,该元素是int 类型的变量C.p[5]表示某个数组中的第5个元素的值D.p是一个具有5个元素的指针数组,每个元素都是一个int 类型的指针23.设有以下语句序列:#define S(x) x*(x)*2int k=3;则表达式S(k+1)的值为 23 。
A.32 B.11 C.24 D.824.在循环语句的循环体中使用 break 和 continue语句的作用分别是 24 。
A.两语句都结束循环B.结束本次循环和结束循环C.两语句都结束本次循环D.结束循环和结束本次循环25. 以下叙述中,不正确的是 25 。
A.派生类的成员函数中可直接使用其基类中的所有成员,并与派生方式无关B.派生类不能继承其基类的友元函数C.派生类构造函数通常带有基类初始化列表D.派生类缺省的构造函数中通常隐含直接基类的缺省构造函数26. 以下叙述中,不正确的是 26 。
A.类的构造函数可以重载B.类的析构函数可以重载C.一个类必定有构造函数D.一个类必定有析构函数27. 以下叙述中,正确的是 27 。
A.函数在重载时其函数名可以不同B.C++中所有运算符都可以重载C.基类中定义虚函数a(int,int),若在派生类中定义函数a(int),则在派生类中a为函数重载D.对于基类中定义的运算符重载函数,在派生类中均可继承和使用28. 一个类的静态数据成员所表示的属性 28 。
2012年9月全国计算机等级考试二级C语言上机题库(完整版)
第一套1.程序填空程序通过定义学生结构体数组,存储了若干个学生的学号、姓名和三门课的成绩。
函数fun的功能是将存放学生数据的结构体数组,按照姓名的字典序(从小到大排序)。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
第一处struct student t;第二处for(i=0;i<n-1;i++)第三处if(strcmp(a[i].name,a[j].name)>0)2程序修改给定程序MODI1.C中函数fun的功能是:在p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上;并将该字符前的原字符向上顺序移动。
/**found**/q=p+i;/**found**/while(q>p)3程序设计学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写了函数fun,它的功能是:把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回。
int fun(STREC *a,STREC *b,int l,int h){int i,j=0;for(i=0;i<N;i++)if((a[i].s>=1&&a[i].s<=h)b[j++]=a[i];return j;}第二套1.程序填空给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数据域递增有序连接。
函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。
第一处free(q);第二处q=p->next;第三处q=q->next;2. 程序修改给定程序MODI1.C中函数fun的功能是:用选择法对数组中的n各元素按从小到大的顺序进行排序。
/**found**/p=j;/**found**/p=i;3. 程序设计请编写一个fun函数,它的功能是:求出1到m之间(含m)能被7或11整除的所有整数放在数组a中,通过n 返回这些数的个数。
2012秋C程序设计试卷+问题详解
华南农业大学期末考试试卷(A 卷)2012学年第1学期 考试科目: 程序设计(C 语言) 考试类型:(闭卷)考试 考试时间: 120 分钟学号 姓名 年级专业考生注意:1、答案必须分别写在“机读卡”和“答卷”上,写在试题上不得分。
2、必须在机读卡和答卷上正确填写班级、学号、姓名等内容,否则没有考试成绩。
3、在机读卡的学生代号区只填写学号后10位。
4、考试结束,只需交“机读卡”和“答卷”,试题不用交。
一、判断题(在机读卡上答题,本大题共20小题,每小题1分,共20分)用2B 型铅笔涂答题卡!!!按题号顺序,正确的判断涂黑“A ”、错误的判断涂黑“B ” 1、C 语言称为中级语言是因为它允许直接访问物理地址,能进行位运算,能实现汇编语言的大部分功能,可以直接对硬件进行操作。
2、一个C 程序总是从main 函数开始执行,并且从main 函数中结束程序。
3、一个算法具有有穷性、确定性、可行性、有零个或多个输入/输出。
4、在C 程序中使用符号常量,能够增强程序的可读性,方便程序的修改。
5、C 程序中使用变量不一定要遵循“先定义,再赋值,后使用”。
6、C 语言可以通过调用标准库函数实现输入输出功能,也可以使用它本身提供的专门的输入输出语句。
7、能正确表达逻辑关系100≤≤x 的表达式是10||0<=>=x x 。
8、在if 语句中,if 后面的表达式可以是关系表达式与逻辑表达式,而不能是算术表达式。
9、在逻辑表达式的求解过程中,并非所有的逻辑运算符都被执行。
10、带有语句标号的语句的正确书写方法是“语句标号:语句”。
11、for 循环语句只能用于循环次数已经确定的情况。
12、goto 语句和break 语句都能实现使程序执行的流程从循环体内跳至循环体外。
13、while 循环语句至少无条件执行一次循环体。
14、数组必须先定义,然后再使用。
15、定义数组时,数组下标可以是整型常量表达式。
16、已有定义int x[5];,则该定义语句说明x是具有5个元素的一维数组,且数组元素是x[1],x[2],x[3],x[4],x[5]。
2012年9月计算机二级C语言考试(试题及详解)
C语言程序设计(考试时间90 分钟,满分100 分)一、选择题((1)—(10)、(21)—(40)每题2 分,(11)—(20)每题1 分,共70 分)(11)以下叙述中正确的是A)在C语言程序中,main 函数必须放在其他函数的最前面B)每个后缀为.C的C语言源程序都可以单独进行编译C)在C语言程序中,只有main 函数才可单独进行编译D)每个后缀为.C的C语言源程序都应该包含一个main函数(12)C语言中的标识符分为关键字、预定义标识符和用户标识符,以下叙述正确的是A)预定义标识符(如库函数中的函数名)可用作用户标识符,但失去原有含义B)用户标识符可以由字母和数字任意顺序组成C)在标识符中大写字母和小写字母被认为是相同的字符D)关键字可用作用户标识符,但失去原有含义(13)以下选项中表示一个合法的常量是(说明:符号□表示空格)A)9□9□9 B)0Xab C)123E0.2 D)2.7e(14)C语言主要是借助以下哪个功能来实现程序模块化A)定义函数B)定义常量和外部变量C)三种基本结构语句D)丰富的数据类型(15)以下叙述中错误的是A)非零的数值型常量有正值和负值的区分B)常量是在程序运行过程中值不能被改变的量C)定义符号常量必须用类型名来设定常量的类型D)用符号名表示的常量叫符号常量(16)若有定义和语句:int a,b; scanf("%d,%d",&a,&b); 以下选项中的输入数据,不能把值3 赋给变量a、5 赋给变量b 的是A)3,5, B)3,5,4 C)3 ,5 D)3,5(17)C语言中char 类型数据占字节数为A)3 B)4 C)1 D)2(18)下列关系表达式中,结果为“假”的是A)(3+4)>6 B)(3!=4)>2 C)3<=4||3 D)(3<4)==1(19)若以下选项中的变量全部为整型变量,且已正确定义并赋值,则语法正确的switch 语句是A)switch(a+9) B)switch a*b{ case c1:y=a-b; { case 10:x=a+b;case c1:y=a+b; default :y=a-b;} }C)switch(a+b) D)switch (a*b+b*b){ case1 : case3:y=a+b;break; { default :break;case0 : case4:y=a-b; case 3:y=a+b; break;} case 2:y=a-b; break;}(20)有以下程序# include <stdio.h>main(){int a=-2,b=0;while(a++&&++b);printf("%d,%d\n",a,b);}程序运行后的输出结果是A)1,3 B)0,2 C)0,3 D)1,2(21)设有定义:int x=0,*p;,立即执行以下语句,正确的语句是A)p=x; B)*p=x; C)p=NULL; D)*p=NULL;2012 年9 月笔试真卷及答案详解第3 页(共12 页)(22)下列叙述中正确的是A)可以用关系运算符比较字符串的大小B)空字符串不占用内存,其内存空间大小是0C)两个连续的单引号是合法的字符常量D)两个连续的双引号是合法的字符串常量(23)有以下程序#include <stdio.h>main(){char a='H';a=(a>='A'&&a<='Z')?(a-'A'+'a'):a;printf("%c\n",a);}程序运行后的输出结果是A)A B)a C)H D)h(24)有以下程序#include <stdio.h>int f(int x);main(){ int a,b=0;for(a=0;a<3;a++){b=b+f(a);putchar('A'+b);}}int f(int x){return x*x+1;}程序运行后的输出结果是A)ABE B)BDI C)BCF D)BCD(25)设有定义:int x[2][3];,则以下关于二维数组x 的叙述错误的是A)x[0]可看作是由3 个整型元素组成的一维数组B)x[0]和x[1]是数组名,分别代表不同的地址常量C)数组x 包含6 个元素D)可以用语句x[0]=0;为数组所有元素赋初值0(26)设变量p 是指针变量,语句p=NULL;,是给指针变量赋NULL 值,它等价于A)p=""; B)p='0'; C)p=0; D)p='';(27)有以下程序#include <stdio.h>main(){ int a[]={10,20,30,40},*p=a,i;for(i=0;i<=3;i++){a[i]=*p;p++;}printf("%d\n",a[2]);}A)30 B)40 C)10 D)20(28)有以下程序#include <stdio.h>#define N 3void fun(int a[][N],int b[]){ int i,j;for(i=0;i<N;i++)2012 年9 月笔试真卷及答案详解第4 页(共12 页){ b[i]=a[i][0];for(j=1;j<N;j++)if(b[i]<a[i][j]) b[i]=a[i][j];}}main(){ int x[N][N]={1,2,3,4,5,6,7,8,9},y[N],i;fun(x,y);for(i=0;i<N;i++) printf("%d,",y[i]);printf("\n");}A)2,4,8 B)3,6,9 C)3,5,7 D)1,3,5(29)有以下程序(strcpy 为字符串复制函数,strcat 为字符串连接函数)#include <stdio.h>#include <string.h>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(30)以下选项中,合法的是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;(31)有以下程序#include <stdio.h>main(){ char *s="12134";int k=0,a=0;while(s[k+1]!='\0'){ k++;if(k%2==0){a=a+(s[k]-'0'+1);continue;}a=a+(s[k]-'0');}printf("k=%d a=%d\n",k,a);}程序运行后的输出结果是A)k=6 a=11 B)k=3 a=14 C)k=4 a=12 D)k=5 a=15 (32)有以下程序#include <stdio.h>main(){ char a[5][10]={"one","two","three","four","five"};int i,j;char t;for(i=0;i<4;i++)for(j=i+1;j<5;j++)if(a[i][0]>a[j][0])2012 年9 月笔试真卷及答案详解第5 页(共12 页){ t=a[i][0];a[i][0]=a[j][0];a[j][0]=t;}puts(a[1]);}程序运行后的输出结果是A)fwo B)fix C)two D)owo(33)有以下程序#include <stdio.h>int a=1,b=2;void fun1(int a, int b){ printf(“%d%d”,a,b); }void fun2( ){ a=3; b=4; }main(){ fun1(5,6); fun2();printf("%d%d\n",a,b);}程序运行后的输出结果是A)1 2 5 6 B)5 6 3 4 C)5 6 1 2 D)3 4 5 6(34)有以下程序#include <stdio.h>func(int n){ static int num=1;num=num+n;printf("%d",num);}void main(){ func(3);func(4);printf("\n"); }程序运行后的输出结果是A)4 8 B)3 4 C)3 5 D)4 5(35)有以下程序#include <stdio.h>#include <stdlib.h>fun(int *p1,int *p2,int *s){ s=(int*)malloc(sizeof(int));*s=*p1+*p2;free(s);}void main(){ int a=1,b=40,*q=&a;fun(&a,&b,q);printf("%d\n",*q);}程序运行后的输出结果是A)42 B)0 C)1 D)41(36)有以下程序#include <stdio.h>struct STU{char name[9];char sex;int score[2];};void f(struct STU a[]){ struct STU b={"zhao",'m',85,90};a[1]=b;}main(){ struct STU c[2]={{"Qian",'f',95,92},{"Sun",'m',98,99}};f(c);printf("%s,%c,%d,%d,",c[0].name,c[0].sex,c[0].score[0],c[0].score[1]); printf("%s,%c,%d,%d\n,",c[1].name,c[1].sex,c[1].score[0],c[1].score[1]); }程序运行后的输出结果是A)Zhao,m,85,90,Sun,m,98,99 B)Zhao,m,85,90, Qian,f,95,92C)Qian,f,95,92,Sun,m,98,99 D)Qian,f,95,92,Zhao,m,85,90(37)以下叙述中错误的是A)可以用trpedef 说明的新类型名来定义变量B)trpedef 说明的新类型名必须使用大写字母,否则会出编译错误C)用trpedef 可以为基本数据类型说明一个新名称D)用trpedef 说明新类型的作用是用一个新的标识符来代表已存在的类型名(38)以下叙述中错误的是A)函数的返回值类型不能是结构体类型,只能是简单类型B)函数可以返回指向结构体变量的指针C)可以通过指向结构体变量的指针访问所指结构体变量的任何成员D)只要类型相同,结构体变量之间可以整体赋值(39)若有定义语句int b=2; 则表达式(b<<2)/(3||b)的值是A)4 B)8 C)0 D)2(40)有以下程序#include <stdio.h>main(){ FILE *fp;int i,a[6]={1,2,3,4,5,6};fp=fopen("d2.dat","w+");for(i=0;i<6;i++) fprintf(fp,"%d\n",a[i]);rewind(fp);for(i=0;i<6;i++) fscanf(fp,"%d",&a[5-i]);fclose(fp);for(i=0;i<6;i++) printf("%d",a[i]);}程序运行后的输出结果是A)4,5,6,1,2,3 B)1,2,3,3,2,1 C)1,2,3,4,5,6 D)6,5,4,3,2,1二、填空题(每空2 分,共30 分)(6)请写出与!(a<=b)等价的C语言表达式【6】。
2012年9月全国计算机2级考试(C语言程序设计)笔试模拟试题及答案
2012年9月全国计算机2级考试(C语言程序设计)笔试模拟试题及答案2012年9月全国计算机等级考试二级笔试模拟试题C语言程序设计(考试时间90分钟,满分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)10 B)8 C)6 D)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_1 B)1-1 C)_11 D)1_ _(12)若函数中有定于语句:int k;,则()A)系统将自动给K赋初值0B)时k中的值无定义C)系统将自动给k赋初值-1D)这时k中无任何值(13)以下选项中,能用作数据常量的是()A)0115 B)0118 C)1.5e1.5 D)115L(14)设有定义:int x=2;,以下表达式中,值不为6的是()A)x*=x+1 B)x++,2*x C)x*=(i+x) D)2*x, x+=2(15)程序段:int x=12; double y=3.141593; printf(“%d%8.6f”, x, y);的输出结果是() A)123.141593 B)12 3.141593 C)12, 3.141593 D)123.1415930(16)若有定义语句:double x, y,*px,*pY; 执行了px=&x; py=&y;之后,正确的输入语句是() A)scarf(“%f%1”,x,y);B)scarf(“%f%f”,&x,&y);C)scarf(“%lf%1e”,px,py);D)scarf(“%lf%lf”,x,y);(17)以下是if语句的基本形式:()if〔表达式)语句其中“表达式”A)必须是逻辑表达式B)必须是关系表达式C)必须是逻辑表达式或关系表达式D)可以是任意合法的表达式(18)有以下程序A)n=0; while((ch=getchar())!='\n’) n++;B)n=0; while(getchar()!='1n‘) n++;C)for( n=0;getchar()!='\n';n++);D)n=0; for( ch=getchar(); ch! ='\n';n++);(23)有以下程序#include <stdio.h>main(){int al,a2;char cl,c2;scanf(“%d%c%d%c”,&a1,&cl,&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)i2a34b<CR>B)12~a~34~b<CR>C)12,a,34,b<CR>D)12~a34~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(“od\n”,d);}程序运行后的输出结果是()A)10 B)9 C)8 D)7(25)有以下程序#include <stdio.h>void fun (char *s){while(*s){if(*s%2==0)printf(“%c”,*s);s++;}}main(){char a[]=(“good”};fun(a);printf(“\n”);}注意:字母a的ASCII码值为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>void flint *p,int *q);main()int m=l,n=2,*r=&m;f (r, &n);printf(“%d,od”,m, n);}void f(int *p,int *q){p=p+l: *q=*q+1;}程序运行后的输出结果是()A)1,3 B)2,3 C)1,4 D)1,2(28)以卜函数按每行8个输出数组中的数据vold 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)若有以下定义int x[1O], *pt=x;则对x数组元素的正确引用是()A)*&x[10] B)*(x+3) C)*(pt+10) D)pt+3(30)设有定义:char s[81]; int i=0;,以下不能将一行(不超过80个字符)带有空格的字符串正确读入的语句或语句组是()A)gets(s);B)while((s[i++]=getchar())!='\n’);s[i]= '\0';C)scarf(“%s”,s);D)do{ scarf(“%c”,&s[i]); }while(s[i++]!='\n‘); s[i]='\0';(31)有以下程序#include <stdio.h>nain(){char *a[ ]=(“abed”,“ef”,“gh”,“ijk”}; int I;for(i=0;i<4;i++)printf(“%c”,*a[i]);}程序运行后的输出结果是()A)aegiB)dfhkC)abedD)abcdefghijk(32)以下选项中正确的语句组是()A)char s[]; s=“BOOK!”;B)char * s={“BOOK!”};C)char sf10}; s=“BOOK!”;D)char* s=“BOOK!”;(33)有以下程序#include <stdio.h>int fun(int x,int y){if (x==y) return(x);else return((x+y)/2);main()( int a=4,b=5,c=6;ptintf(“%d\n”, fun (2*a,fun(b,c)));}程序运行后的输出结果是()A)3 B)6 C)8 D)12(34)设函数中有整型变量n,为保证其在未赋初值的情况下初值为0,应选择的存储类别是()A)autoB)registerC)staticD)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[i])+b; printf(“%d”;b);printf(“\n”);}程序运行后的输出结果是()A)10 12 B)8 10 C)10 28 D)10 1b(36)有以下程序#include <stdio.h>#define PT 3 .5;#define S(x) PT*x*x;main(){ int a=1,b=2;printf(“%4 .if\n”, S(a+b));}程序运行后的输出结果是()A)14.0 B)31.5 C)7.5 D)程序有错无输出结果(37)有以下程序#include <stdio.h>struct ord{int x,y;}bt[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,1(38)设有宏定义:#define IsDIV(k,n)((k%n=I)?1:0)且变量m己正确定义并赋值,则宏调用:IsDIV(m,5)&&IsDIV(m,7)为真时所要表达的是()A)判断m是否能被5或者7整除B)判断m是否能被5和7整除C)判断m被5或者7整除是否余1D)判断m被J和7整除是否都余(39)有以一下程序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(){FILE *f;f=fopen(“filea.txt”,“w”);fprintf(f,“abc”);fclose(f);}若文本文件filea.txt中原有内容为:hello,则运行以上程序后,文件filea.txt中的内容为()A)helloabc B)abclo C)abc D)ahchelln二、填空题(每空2分,共30分)请将每一个空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。
2012年9月国家计算机二级C语言上机考试题库
2012年9月全国计算机考试上机题库100套第01套:给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。
例如,输入一个数:27638496,新的数:为739。
请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!给定源程序:#include <stdio.h>void fun(unsigned long *n){ unsigned long x=0, i; int t;i=1;while(*n){ t=*n % __1__;if(t%2!= __2__){ x=x+t*i; i=i*10; }*n =*n /10;}*n=__3__;}main(){ unsigned long n=-1;while(n>99999999||n<0){ printf("Please input(0<n<100000000): "); scanf("%ld",&n); }fun(&n);printf("\nThe result is: %ld\n",n);}解题思路:第一处:t是通过取模的方式来得到*n的个位数字,所以应填:10。
第二处:判断是否是奇数,所以应填:0。
第三处:最后通形参n来返回新数x,所以应填:x。
给定程序MODI1.C中函数fun 的功能是:计算n!。
例如,给n输入5,则输出120.000000。
请改正程序中的错误,使程序能输出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!给定源程序:#include <stdio.h> double fun ( int n ){ double result = 1.0 ;if n = = 0return 1.0 ;while( n >1 && n < 170 )result *= n--return result ;}main ( ){ int n ;printf("Input N:") ;scanf("%d", &n) ;printf("\n\n%d! =%lf\n\n", n,fun(n)) ;}解题思路:第一处:条件语句书写格式错误,应改为:if (n==0)。
2012年9月全国计算机等级考试《二级Visual Basic语言程序设计》真题及答案
2012年9月全国计算机等级考试二级笔试试卷Visual Basic语言程序设计(考试时间90分钟,满分100分)整理:陈远跃一、选择题(每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。
请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。
(1)下列链表中,其逻辑结构属于非线性结构的是A)双向链表B)带链的栈C)二叉链表D)循环链表(2)设循环队列的存储空间为Q(1:35),初始状态为front=rear=35。
现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为A)20B)0或35C)15D)16(3)下列关于栈的叙述中,正确的是A)栈底元素一定是最后入栈的元素B)栈操作遵循先进后出的原则C)栈顶元素一定是最先入栈的元素D)以上三种说法都不对(4)在关系数据库中,用来表示实体间联系的是A)网状结构B)树状结构C)属性D)二维表(5)公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员。
则实体部门和职员间的联系是A)1:m联系B)m:n联系C)1:1联系D)m:1联系(6)有两个关系R和S如下:R SA B C A B Ca 1 2 c3 1b 2 1c 3 1则由关系R得到关系S的操作是A)自然连接B)并C)选择D)投影(7)数据字典(DD)所定义的对象都包含于A)软件结构图B)方框图C)数据流图(DFD图)D)程序流程图(8)软件需求规格说明书的作用不包括A)软件设计的依据B)软件可行性研究的依据C)软件验收的依据D)用户与开发人员对软件要做什么的共同理解(9)下面属于黑盒测试方法的是A)边界值分析B)路径覆盖C)语句覆盖D)逻辑覆盖(10)下面不属于软件设计阶段任务的是A)制定软件确认测试计划B)数据库设计C)软件总体设计D)算法设计(11)以下叙述中错误的是A).vbp文件是工程文件,一个工程可以包含.bas文件B).frm文件是窗体文件,一个窗体可以包含.bas文件C).vbp文件是工程文件,一个工程可以由多个.frm文件组成D).vbg文件是工程组文件,一个工程组可以由多个工程组成(12)以下叙述中错误的是A)在Visual Basic的窗体中,一个命令按钮是一个对象B)事件是能够被对象识别的状态变化或动作C)事件都是由用户的键盘操作或鼠标操作触发的D)不同的对象可以具有相同的方法(13)设x=3.3,y=4.5,表达式x-Int(x)+Fix(y)的值是A)3.5 B)4.8 C)4.3 D)4.7 (14)窗体上有一个名称为Command1的命令按钮,其中部分代码如下:Private Sub Command1_Click() Dim a(10) As IntegerDim n As Integer…… Call calc(a, n) ……End Subcalc过程的首行应该是A)Sub calc(x() As Integer,n As Integer)B)Public Sub calc(x() As Integer)C)Private Sub calc(a(n) As Integer,n As Integer)D)Public Sub calc(a As Integer,n As Integer) (15)设有如下程序:Sub f(x As Integer, ByVal y As Integer) x = 2 * xy = y + xEnd SubPrivate Sub Command1_Click()Dim a As Integer, b As Integer a = 6: b = 35Call f(a, b)Print a, bEnd Sub程序运行后,单击命令按钮Command1,输出结果为A)6 47 B)12 47 C)6 35 D)12 35 (16)以下叙述中正确的是A)窗体及窗体上所有控件的事件过程代码都保存在窗体文件中B)在工程中只有启动窗体可以建立菜单C)窗体名称必须与窗体文件的名称相同D)程序一定是从某个窗体开始执行的(17)窗体上有一个名称为Command1的命令按钮,其单击事件过程代码如下:Private Sub Command1_Click()Static x As Variantn =0x = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) While n <=4x(n) =x(n + 5)Print x(n);n =n + 1WendEnd Sub运行程序,单击命令按钮Command1,窗体上显示的是A)1 2 3 4 5 B)6 7 8 9 10C )2 3 4 5 6D )6 2 3 4 5(18)窗体上有一个名称为Labe11的标签和一个名称为Command1的命令按钮,命令按钮的单击事件过程如下:Private Sub Command1_Click()x = InputBox("输入x :", , 0)y = InputBox("输入y :", , 0)Label1.Caption = x + yEnd Sub运行程序,单击命令按钮,在输入对话框中分别输入2、3,运行的结果是A )程序运行有错误,数据类型不匹配B )程序运行有错误,InputBox 函数的格式不对C )在Labe11中显示5D )在Labe11中显示23(19)窗体上有一个名称为Shape1的形状控件和由三个命令按钮组成的名称为cmdDraw 的控件数组。
2012年9月全国计算机等级考试二级C语言笔试试题和答案(含公共基础题)全解
29 1)main() { char a[10]="abcde",b[]="fgh"; int i=0; strcpy(a+1,b+2); printf("%s",a); } 请详细解释一下”strcpy(a+1,b+2)”这句语句 2)main() { char s[][10]={"a","good",world"}; strcat(s[0],s[1]); printf("%s",s[0]);}请详细解释一下”strcat(s[0],s[1])”这句语句strcpy()是字符串复制函数。
连字符串的结束标志‘\0’一同复制。
对于strcpy(a+1,b+2);中的b+2则是数组里的“h\0”的首地址。
a+1则是数组里的“bcde”的首地址。
即此函数的意义是:把“h\0”复制到“bcde”的位置。
字符串遇到‘\0’结束即结果是:ah。
对于strcat(s[0],s[1]);中的二为数组可以看成是多个一维数组组成的。
所以s[0]代表的是“a”的首地址,s[1]代表的是“good”的首地址。
这是字符串连接函数。
即把good 放到了a的后面。
结果是:agood。
二级C语言程序设计答案及详解一、选择题(11)B)【解析】每一个C 语言的文件或函数都可以单独编译,但只有main 函数的才可以执行。
(12)A)【解析】预定义标识符是C语言中的标识符,在C语言中也有特定的含义,如函数printf、scanf、sin 等和编译预处理命令名(如define 和include)。
预定义标识符可以作为用户标识符使用,只是这样会失去系统规定的原义。
(13)B)【解析】0xab 是十六进制表示的常量。
(14)A)【解析】C语言用函数实现软件的模块化设计。
(15)C)【解析】C语言中,常常用一个标识符来代表一个常量,称为符号常量。
2012年9月全国计算机等级考试二级C语言笔试试题和答案-------2013
29 1)main(){char a[10]="abcde",b[]="fgh";int i=0;strcpy(a+1,b+2);printf("%s",a);}请详细解释一下”strcpy(a+1,b+2)”这句语句2)main(){char s[][10]={"a","good",world"};strcat(s[0],s[1]);printf("%s",s[0]);}请详细解释一下”strcat(s[0],s[1])”这句语句strcpy()是字符串复制函数。
连字符串的结束标志…\0‟一同复制。
对于strcpy(a+1,b+2);中的b+2则是数组里的“h\0”的首地址。
a+1则是数组里的“bcde”的首地址。
即此函数的意义是:把“h\0”复制到“bcde”的位置。
字符串遇到…\0‟结束即结果是:ah。
对于strcat(s[0],s[1]);中的二为数组可以看成是多个一维数组组成的。
所以s[0]代表的是“a”的首地址,s[1]代表的是“good”的首地址。
这是字符串连接函数。
即把good 放到了a的后面。
结果是:agood。
二级C语言程序设计答案及详解一、选择题(11)B)【解析】每一个C 语言的文件或函数都可以单独编译,但只有main 函数的才可以执行。
(12)A)【解析】预定义标识符是C语言中的标识符,在C语言中也有特定的含义,如函数printf、scanf、sin 等和编译预处理命令名(如define 和include)。
预定义标识符可以作为用户标识符使用,只是这样会失去系统规定的原义。
(13)B)【解析】0xab 是十六进制表示的常量。
(14)A)【解析】C语言用函数实现软件的模块化设计。
(15)C)【解析】C语言中,常常用一个标识符来代表一个常量,称为符号常量。
2012年9月全国计算机二级C语言上机题库1(南开100题)
第一套1.程序填空第一处struct student t;第二处for(i=0;i<n-1;i++)第三处if(strcmp(a[i].name,a[j].name)>0 )2程序修改/**found**/q=p+i;/**found**/while(q>p)3程序设计int fun(STREC *a,STREC *b,int l,int h){int i,j=0;for(i=0;i<N;i++)if((a[i].s>=1&&a[i].s<=h)b[j++]=a[i];return j;}第二套1.程序填空第一处free(q);第二处q=p->next;第三处q=q->next;2. 程序修改/**found**/p=j;/**found**/p=i;3. 程序设计void fun(int m,int *a,int *n){int i;*n=0;for(i=7;i<=m;i++)if((i%7==0)||(i%11==0))a[(*n)++]=i;}第三套1. 程序填空第一处for(i=0;i<n/2;i++)第二处a[i]=a[n-1-i];第三处a[n-i-1]=t;2程序修改/**found**/n=*p-…0‟; /**found**/n=n*8+*p-…0‟;3. 程序设计STREC fun(STREC*a,char *b){STREC c;Int i;c.num[0]=‟\0‟;c.s=-1;for(i=0;i<N;i++)if(strcmp(a[i].num,b)==0){strcpy(c.num,a[i].num);c.s=a[i].s;break;}return c;}第四套1.程序填空第一处while(p!=0)第二处if(p->data==ch)return n;第三处k=fun(head,ch);2. 程序修改/**found**/for(i=0,t=0;p[i];i++)/**found**/c[t]=‟\0‟;3. 程序设计void fun(char *ss){int i;for(i=1;i<strlen(ss);i+=2){if(ss[i]>=‟a‟&&ss[i]<=‟z‟)ss[i]-=32;}}第五套1. 程序填空9.6125588。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
简答题
1.么是低级语言,高级语言,面向过程的语言,面向对象的语言?
2.C语言的特点?(8个特点)
4.表达式在计算时,其类型如何确定?
5. C语言中,如何实现类型的转换?
选择题
1.以下字符串可以为用户定义的标示符的是 D。
A. short
B. LINE 5
C. next
day D. _my
2.设c是字符变量,则以下表达式正确的是B。
A. c=1234
B. c='c'
C. c="
c" D. c="abcd"
3.类型修饰符unsinged不能修饰下面的D类型。
A. int
B. char
C.
long D. double
4.下列正确的字符常量是D。
A. ' \234'
B. ' \af'
C. "
a" D. ' a'
8.以下选项中不正确的整型常量是__C__。
A. 12L
B. -10
C.
1,900 D. 123U
5. 若有语句:int a,b,c;
则下面输入语句正确的是C。
A. scanf(" %D%D%D",a, b, c);
B. scanf("%d%d%d",a,b,c);
C.scanf("%d%d%d",&a,&b,&c);
D. scanf("%D%D%D",&a,&b,&c);
6.int m=546, n=765;
printf(" m=%-6d,n=%6d",m,n);
则输出的结果是B。
A. m=546,n=765
B. m=546 ,n= 765
C. m=%546,n=%765
D.m= 546,n=765
7.有如下程序:
main( )
{
int x;
float y;
scanf("%3d%f",&x,&y);
printf("x=%d,y=%f\n",x,y);
}
其输入数据为12345 678↙,则输出结果为 D 。
A. x=12345,y=678
B. x=123,y=45
C. x=12345,y=678.000000
D. x=123,y=45.000000
1.在C语言中定义数组时,数组长度要求是C。
A. 整型常量
B. 整型表达式
C. 大于0的整型常量表达式
D.一般表达式
2.对于一维整型数组a,正确地说明是A。
A. int a[10];
B.int a(10);
C. int n=10, a[n];
D. int n;
scanf(" %d",&n);
int a[n];
4.给出以下定义:
char x[ ]= "hello";
char y[ ]={ ' h', 'e', 'l', 'l', 'o'};
则正确的说法是B。
A. 数组x和y等价;
B. 数组x的长度大于数组y的长度;
C. 数组x和数组y的长度相等;
D. 数组x的长度小于数组y的长度;
3 二维整型数组a,其最后一个元素为B。
6.定义了一个4
A. a[3][4]
B. a[2][3]
C.a[3,4]
D.a[2,3]
7.以下能对数组正确初始化的是C。
A. int a[5]={2,3,4,5,6,1};
B. int a[ 5]={ };
C. int a[5]={2,3,4};
D.int a[]={ };
1.以下说法正确的是 A 。
A. C语言规定,可执行程序总是从main函数开始执行;
B. 在程序中,main函数必须写在最开始的部分;
C. 可执行程序总是从第一个定义的函数开始执行;
D. 在C语言中,main函数调用的函数必须在main函数中定义。
2. C语言程序中,以下说法正确的是B。
A. 函数的定义可以嵌套,但函数的调用不能嵌套;
B. 函数的调用可以嵌套,但函数的定义不能嵌套;
C. 函数的定义和调用都可以嵌套;
D. 函数的定义和调用都不能嵌套。
6.以下正确的函数原型是D。
A. int fun(int x, y);
B. int fun(int x;
int y );
C. int fun[int x, int y];
D. int
fun(int ,int );
7. C语言中允许函数类型缺省定义,此时该函数的类型
是A。
A.int
B. double
C. char
D. F
loat
8.从下面函数调用语句中可看出实参的个数为B。
fun((a,b,c),d,(0,1,2) );
A. 1
B. 3
C.
5 D. 7
1.已知有:int a; 则以下语句正确的是B:
A. int* p=a;
B. int* p=&a;
C. int p=&a;
D. int *p=*a;
2.已知:float* fp1,fp2; 则下面正确的是C:
A. 定义了两个指针变量;
B.两个都不是指针变量;
C. fp2不是指针变量;
D.fp2=*fp1;
3.若有定义语句:int a[6]={0,1,2,3},*p;则下面表达式值为2的是B:
A. p=a+1, *p++;
B. p=a+2, *p++;
C. p=a+2,*(++p);
D. p=a+2, ++(*p);
三、编程实现下列各题。
1.从键盘上输入2个整数,输出较小的数。
2.从键盘上输入一个浮点数,将其结果保留两位小数输出。
20.求一个不超过5位数字的整数其各位数字之和。
21.编写程序,从键盘输入10位同学的5门课成绩,统计每位学生的平均成绩,并按平均成绩排序输出。
3 矩阵中最大及最小元素及其下标。
22.编程求出一个3
2.编写一程序,将一数组的元素从第一个开始间隔的输出,用指针实现。