贵州大学2012-2013C语言考试A卷 附 重要考点复习资料

合集下载

贵州大学2013年计信学院C++语言程序设计考试复习题汇总

贵州大学2013年计信学院C++语言程序设计考试复习题汇总

象的设计(OOD)、面向对象的测试(OOT)和面向对象
fn1(),没有重载基类的成员函数 fn2(),如何在派生
的软件维护(OOSM)等主要内容。
类的函数中调用基类的成员函数 fn1(),fn2()?
2. if(x=3)和 if(x==3)这两条语句的差别是什么?
答:调用方法为:A::fn1(); fn2();
型结果(实型结构表示范围更大,而且可以准确表示 m<0
函数、拷贝构造函数、重载运算符+、=、+=、[],
时的结果)该如何调用?
尽可能地完善它,使之能满足各种需要
答:源程序:三章(P49)
答:程序如下:
9. 简单说明交换排序的算法思想。
答:交换排序的基本思想是:两两比较待排序序列中的元
素,并交换不满足顺序要求的各对元素,直到全部满足顺
return *this; delete[] itsMyString; itsMyString=new char[itsLen+1]; for(unsigned short i=0;i<=itsLen;i++)
itsMyString[i]=rhs[i]; itsMyString[itsLen]='\0'; return *this; } char & MyString::operator[](unsigned short offset){ if(offset>itsLen)
C++中起着怎样的作用?
态的基础,主要是针对对象的,而构造函数是在对象产生 答:流是一种抽象,它负责在数据的生产者和数据的消费
之前运行的,因此虚构造函数是没有意义的;可以声明虚 者之间建立联系,并管理数据的流动,一般意义下的读操

2012-2013学年第二学期C++程序设计复习提纲

2012-2013学年第二学期C++程序设计复习提纲

一、选择题1.下列关于对象的描述中,错误的是___________。

A.对象是类的别名B.对象是类的实例C.一个类可以定义多个对象D.对象之间通过消息进行通信2.在对字符数组进行初始化时,___________是正确的。

A.char s1[]=”abcd”;B.char s2[3]=”xyz”;C.char s3[][3]={‘a’,‘x’,‘y’};D.char s4[2][3]={”xyz”,”mnp”};3.联合成员的地址值和所占的字节数___________。

A.都相同B.都不同C.前者相同,后者不同D.前者不同,后者相同4.文件包含命令中被包含的文件的扩展名___________。

A.必须为.hB.不能用.hC.必须是.cD.不一定是.h5.下列while循环的次数是___________。

while(int i=0) i--;A.0B.1C.5D.无限6.在函数说明中,下列___________项是不必要的。

A.函数的类型B.函数参数类型和名字C.函数名字D.返回值表达式7.在传值调用中,要求___________。

A.形参和实参类型类型任意,个数相等B.实参和形参类型都完全一致,个数相等C.实参和形参对应的类型一致,个数相等D.实参和形参对应的类型一致,个数相等8.在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用_____比较合适。

A.内联函数B.重载函数C.递归调用D.嵌套调用9.下列有关对函数模板参数的描述,错误的是___________。

A.函数模板是一组函数的样板B.函数模板是定义重载函数的一种工具C.模板函数是函数模板的一个实例D.模板函数在编译时不生成可执行代码10.下列各种函数中,___________不是类的成员函数。

A.构造函数B.析构函数C.友元函数D.复制构造函数11.___________不是构造函数的特征。

A.构造函数的函数名与类名相同B.构造函数可以重载C.构造函数可以设置默认参数D.构造函数必须指定类型说明12.下述静态数据成员的特性中,___________是错误的。

C语言考试复习资料

C语言考试复习资料

计算机水平考试 (试题1)一. 单项选择题1. 按电子元器件分类,第二代计算机主要是采用_________作为逻辑开关元件。

A.电子管B.中小规模集成电路C.晶体管D.大规模集成电路2. 在下列各种进制的数据中,最大的数是__________。

A.(5F)16B.(88)10C.(136)8D.(1011101)23. 冯.诺依曼原理主要是指___________。

A.运算的精确度B.存储程序和自动控制C.高速度运算能力D.智能化体系结构4. 以下关于计算机语言描述,错误的是__________。

A.在计算机语言中,汇编语言属于低级语言B.FoPro 2.5b for windows 语言、C语言、Fortran 90语言均属于高级语言C.机器语言可以被计算机直接执行D.所有计算机语言程序都必须被编译后才能在计算机上运行5. 以下_________是多媒体计算机必备的设备。

A.视频卡B.打印机C.声卡D.扫描仪6.通常说硬盘的容量为80G,指的是___________。

A.80G bitB.80G byteC.80G个字D.80000个字7.在windows98中相同磁盘不同文件夹之间的文件复制操作可以___________。

A.直接用鼠标将选定文件拖到目标文件夹B.按住Ctrl键后用鼠标将选定文件拖到目标文件夹中C.按住Alt键后用鼠标将选定文件拖到目标文件夹中D.按住shift键后用鼠标将选定文件拖到目标文件夹中8.在windows98中,利用“回收站”可恢复__________上被误删除的文件。

A.硬盘B.软盘C.内存D.光盘9.以下正确的E-mail地址是____________。

B. @ C. spks@ D. @10. 发现软盘有文件已经感染上病毒,以下不能清除病毒的方法是___________。

A.将软盘快速格式化B.用有效的杀毒软件清除该软盘中的病毒C.将软盘全面格式化D.将软盘上所有文件移到硬盘中11. 以下选项中合法的用户标识符是___________。

贵州大学2013级嵌入式系统设计与实例开发期末试卷A

贵州大学2013级嵌入式系统设计与实例开发期末试卷A

得分贵州大学2013--2014《嵌入式系统设计与实例开发系统》期末考试试卷期末考试试卷(A)题 号一二三四五六总分得 分 核分人一、单项选择题:在下列各题中,有四个备选答案,请将其中唯一正确的答案填入括号中。

(本题共15小题,每题1分,共15分 )1、OOD指的是( )位。

A、面向对象分析B、面向对象设计C、面向对象编程D、面向对象调试2、ARM7TDMI采用( )级流水线。

A、1B、2C、3D、43、找出系统存在何种问题后,要找出问题所在并加以解决,应采取( )。

A、功能测试B、系统测试C、系统调试D、集成测试4、为使LPC2290控制器在上电时,能够稳定可靠的工作,系统复位有效电平应至少保持( )毫秒。

A、200B、10C、40D、1005、可将向量中断控制器编程分为FIQ、非向量IRQ和向量IRQ三类,它们的中断优先级别由低至高的顺序为( )。

A、FIQ、非向量IRQ、向量IRQB、非向量IRQ、向量IRQ、 FIQC、FIQ、向量IRQ、非向量IRQD、向量IRQ 、非向量IRQ、FIQ6、LPC控制器工作在( ),系统时钟不工作,系统功耗几乎接近于零。

得分A、空闲模式B、掉电模式C、管理模式D、系统模式7、下列ARM指令中,其源操作数的寻址方式是寄存器寻址方式的是( )。

A、MOV R3,R4B、LDR R1,[R2]C、BEQ LOOPD、MOVR1,#08、ARM指令集和THUMB指令集区别在于( )。

A、ARM指令是32位指令,而THUMB指令是16位指令B、ARM指令是16位指令,而THUMB指令是32位指令C、ARM指令是16位指令,而THUMB指令是8位指令D、ARM指令是8位指令,而THUMB指令是16位指令二、填空题:在下列各题中,将唯一正确的答案填入括号中。

(本题共15小题,每题1分,共15分 )1、从技术的角度定义:嵌入式系统是以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的。

贵州大学2012-2013C语言考试A卷 附 重要考点复习资料

贵州大学2012-2013C语言考试A卷 附 重要考点复习资料

贵州大学2012-20103学年第一学期考试试卷 AC语言程序设计满分100分,考试时间为120分钟。

一、单项选择题(选出一个正确答案,每小题2分,共20分)1.完成C源文件编辑后、到生成执行文件,C语言处理系统必须执行的步骤依次为( )A.连接、编译B. 连接、运行C. 编译、运行D. 编译、连接2.下列说法正确的是()A.一个c语言程序并非总是从主函数位置开始执行的B.一个c语言程序有且只有一个主函数C.函数可以嵌套定义,不可以嵌套调用D.程序函数的位置不可以任意3.下面是合法C语言标识符的是()A. 2A_K;B. _M+N;C. –M3;D. AC_2;4.下列格式符中,可以用于控制字符输出的是( )A. %dB. %fC. %oD. %c5.设x、y、z和k都是int型变量,则执行表达式x=(y=4,z=16,k=30)后,x的值是( )A. 4;B. 16;C. 30;D. 50;6.执行语句“for(i=1,s=0;i<=5;i++) s+=i;”后,变量s、i的当前值是( )A. 10,5B. 15,6C. 15,5D. 10,67.若有定义 int x,*p;,则以下正确的赋值表达式是( )A. p=x;B. p=&x;C. *p=&x;D. *p=*x;8.以下对结构体类型变量的定义中,不正确的是( )A. typedef struct aaB. #define AA struct aa{ int n;AA { int n; float m; float m; }AA; }stud; AA stud;C. structD. struct { int n; { int n; float m; float m; }aa; }stud; struct aa stud;9.有如下函数调用语句:func(rec1,rec2+rec3,(rec4+rec5)); 函数调用语句中,含有的实参个数是( )A. 3B. 4C. 5D. 以上均不是10.对于以下宏定义: #define SQ(x) x*x#define QQ(x,y) SQ(x)- SQ(y) 宏调用QQ(2*3,2+3)执行后值为( )A.25B.11C.43D.以上均不是二、填空题(每空2分,共20分)1.设int a=5, c=32;float b=2.5;,表达式b+c/a的值为___ ___2.若x和a均是int型变量,则计算x=(a=4,6*2)后x的值是 __。

2012年9月计算机等级考试二级C语言笔试真题及答案

2012年9月计算机等级考试二级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)设循环队列的存储空间为Q(1:35),初始状态为front=rear=35,现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为A)20 B)0或35 C)15 D)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得到关系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)以下叙述中正确的是BA)在C语言程序中,main函数必须放在其他函数的最前面B)每个后缀为.C的C语言源程序都可以单独进行编译C)在C语言程序中,只有main函数才可单独进行编译D)每个后缀为.C的C语言源程序都应该包含一个main函数(12)C语言中的标识符分为关键字、预定义标识符和用户标识符,以下叙述正确的是AA)预定义标识符(如库函数中的函数名)可用作用标识符,但失去原有含义B)用户标识符可以由字母和数字任意顺序组成C)在标识符中大写字母和小写字母被认为是相同的字符D)关键字可用作用户标识符,但失去原有含义(13)以下选项中表示一个合法的常量是(说明:符号 表示空格)B A)9 9 9 B)0Xab C)123E0.2D)2.7e(14)C语言主要是借助以下哪个功能来实现程序模块化AA)定义函数B)定义常量和外部变量C)三种基本结构语句D)丰富的数据类型(15)以下叙述中错误的是CA)非零的数值型常量有正值和负值的区分B)常量是在程序运行过程中值不能被改变的量C)定义符号常量必须用类型名来设定常量的类型D)用符号名表示的常量叫符号常量(16)若有定义和语句:int a,b; scanf(“%d,%d”,&a,&b);以下选项中的输入数据,不能把值3赋给变量a、5赋给变量b的是CA)3,5, B)3,5,4 C)3 ,5 D)3,5(17)C语言中char类型数据占字节数为CA)3 B)4 C)1 D)2(18)下列关系表达式中,结果为“假”的是BA)(3+4)>6 B)(3!=4)>2 C)3<=4||3 D)(3<4)==1(19)若以下选项中的变量全部为整型变量,且已正确定义并赋值,则语法正确的switch 语句是DA)switch(a+9) B)switch a*b{ case c1:y=a-b; C1 C1 是变量{ case 10:x=a+b;case c2:y=a+b; default :y=a-b;} }C)switch(a+b) D)switch(a*a+b*b){ case1:case3:y=a+b;break { default: break;case0:case4:y=a-b; case 3: y=a+b;break;} case和数字没空格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);}程序运行后的输出结果是DA)1,3 B)0,2 C)0,3 D)1,2(21)设有定义:int x=0,*p; ,立刻执行以下语句,正确的语句是C A)p=x; B)*p=x; C)p=NULL; D)*p=NULL;(22)下列叙述中正确的是DA)可以用关系运算符比较字符串的大小B)空字符串不占用内存,其内存空间大小是0 \0C)两个连续的单引号是合法的字符常量D)两个连续的双引号是合法的字符串常量(23)有以下程序#include <stdio.h>main(){ char a='H';a=(a>='A'&&a<='Z')?(a-'A'+'a'):a;printf("%c\n",a);}程序运行后的输出结果是DA)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; }程序运行后的输出结果是BA)ABE B)BDI C)BCF D)BCD(25)设有定义:int x[2][3];,则以下关于二维数组x的叙述错误的是D A)x[0]可看作是由3个整型元素组成的一维数组B)x[0]和x[1]是数组名,分别代表不同的地址常量C)数组x包含6个元素D)可以用语句x[0]=0;为数组所有元素赋初值0(26)设变量p是指针变量,语句p=NULL;是给指针变量赋NULL值,它等价于C 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]);}程序运行后的输出结果是AA)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++){ b[i]=a[i][0];for(j=i;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");}程序运行后的输出结果是BA)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));}程序运行后的输出结果是cA)a12xyz B)12yz C)a2yz D)bc2yz (30)以下选项中,合法的是AA)char str3[]={'d', 'e', 'b', 'u', 'g', '\0', };B)char str4; str4="hello world";C)char name[10]; name="china";D)char str[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);}程序运行后的输出结果是CA)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]){ t=a[i][0]; a[i][0]=a[j][0]; a[j][0]=t; }puts(a[1]);}程序运行后的输出结果是 A 置换排序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);}程序运行后的输出结果是 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>void func(int n){ static int num=1;num=num+n; p rintf("%d",num)}main(){ func(3); func(4); printf("\n");}程序运行后的输出结果是AA)4 8 B)3 4 C)3 5 D)4 5(35)有以下程序#include <stdio.h>#include <stdlib.h>void fun(int *p1,int *p2,int *s){ s=(int*)malloc(sizeof(int));*s=*p1+*p2;free(s);}main(){ int a=1,b=40,*q=&a;fun(&a,&b,q);printf("%d\n",*q);}程序运行后的输出结果CA)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]);}程序运行后的输出结果是DA)Zhao,m,85,90,Sun,m,98,99 B)Zhao,m,85,90,Qian,f,95,92 C)Qian,f,95,92,Sun,m,98,99 D)Qian,f,95,92,Zhao,m,85,90 (37)以下叙述中错误的是BA)可以用typedef说明的新类型名来定义变量B)typedef说明的新类型名必须使用大写字母,否则会出编译错误C)用typedef可以为基本数据类型说明一个新名称D)用typedef说明新类型的作用是用一个新的标识符来代表已存在的类型名(38)以下叙述中错误的是 AA)函数的返回值类型不能是结构体类型,只能是简单类型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]);}程序运行后的输出结果是DA)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分)请将每一个空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。

2012年7月C语言试卷A

2012年7月C语言试卷A

青海大学试卷(A卷)系别:班级:学号:姓名:考试课程:程序设计基础(C)考试日期:2012 年7月06日注:所有答案均写在答题卡上,答在试卷上不得分,考试结束后试卷和答题卡一并交回一.填空题(每空1分,共16分)1.整型静态数组没有初始化,也没有赋值,此时数组元素的值均为。

2.数组在内存中占的存储区,用代表其首地址。

3. 在函数内部定义的只在本函数内有效的变量叫,在函数以外定义的变量叫。

4.调用一个函数时,实参变量和形参变量之间的数据传递是;若用数组名作为实参,则实际上传递给形参的是。

5. 有这样的定义:static int a[5]={2,4,6,8,10};int *p;p=&a[0];则与p=&a[0]等价的语句,*(p+1)的值是,*(a+3)的值是。

6.有说明char s1[40],s2[20]= "you are a teacher.";如果想从键盘上把字符串"I am a student."输入到数组s1中,函数调用的语句是。

能把s2中的字符串接到s1中的字符串后面的函数调用的语句是。

7.C语言中逻辑运算符的优先级高于算术运算符。

8.在C语言中,声明枚举类型用关键字开头。

9.在C语言中,文件的存取是以为单位的,这种文件被称作文件。

二.选择题(每小题2分,共40分)1.可以在C语言中用做用户标识符的是()。

A.else B.a_b1C.for D.2cd 2.若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是()。

A.1 B.2 C.2.0 D.2.53.以下程序的输出结果是()。

main( ){ int m=10;printf("%d,%d,%d",--m,++m,++m);}A.9,10,11 B.10,10,11 C.9,12,11 D.11,12,114.C语言中,逻辑"真"等价于()。

2022年贵州师范大学公共课《C语言》科目期末试卷A(有答案)

2022年贵州师范大学公共课《C语言》科目期末试卷A(有答案)

2022年贵州师范大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、设有char a,b;若要通过a&b运算屏蔽掉a中的其他位,只保留第2和第8位(右起为第1位),则b的二进制数是_______。

2、在C语言源程序中,一个变量代表【】。

3、一个C语言源程序由若干函数组成,其中至少应含有一个________4、在C语言中,用关键字_______定义单精度实型变量,用关键字_______定义双精度实型变量,用关键字_______定义字符型变量。

5、若a是int型变量,则执行表达式a=25/3%3后a的值为_______6、请填空:建立如图所示存储结构所需的说明语句是_______。

建立如图所示为变量a输入数据的输入语句是_______。

建立如图所示存储结构所需的赋值语句是_______。

7、下面程序段是找出整数的所有因子。

请填空。

scanf("%d",&x);i=1;for(;_______;){if(x%i==0)printf("%3d",i);i++;}8、已有定义int a;float b,x;char cl,c2;为使a=3、b=6.5、x=12.6、cl='a'、c2='A',正确的scanf函数调用语句是_______,数据输入的形式应为_______。

9、设有一输入函数scanf("%d”,k);它不能使float类型变量k得到正确数值的原因是_______未指明变量k的地址和_______格式控制符与变量类型不匹配。

10、设有如下定义:#define SWAP(T,X,Y){T=X;X=Y;Y=T;}以下程序段将通过调用宏实现变量x和y内容的交换,请填空。

Double x=2.5,y=6.4,z;SWAP(_______);二、选择题11、若有定义语句:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是( )。

2012数据结构A卷

2012数据结构A卷

得 分 评分人贵州大学2011-2012学年第二学期考试试卷 A数据结构注意事项:1. 请考生按要求在试卷装订线内填写姓名、学号和年级专业。

2. 请仔细阅读各种题目的回答要求,在规定的位置填写答案。

3. 不要在试卷上乱写乱画,不要在装订线内填写无关的内容。

4. 满分100分,考试时间为120分钟。

题 号一二三四总 分统分人得 分一、单项选择题(共20分,每小题2分)1.不是四类基本逻辑结构之一的是 ( )A 、集合 B 、链表结构C 、树形结构 D 、网状结构2.关于队列的描述,错误的是 ( )A 、队列的头指针指下一个入队的位置B 、普通队列要求满足“先进先出”C 、使用一个队列可以模拟一个银行的多个同性质服务窗口的排队状况D 、循环队列可以采用顺序表实现3.在n 个结点的顺序表中,算法的时间复杂度是O (1)的操作是( )A 、访问第i 个结点(1≤i≤n )和求第i 个结点的直接前驱(2≤i≤n )B 、在第i 个结点后插入一个新结点(1≤i≤n )C 、删除第i 个结点(1≤i≤n )D 、将n 个结点从小到大排序4.下列关于串的叙述中,正确的是 ( )A 、一个串的字符个数即该串的长度B 、一个串的长度至少是1C 、空串是由一个空格字符组成的串得 分评分人D 、两个串S1和S2若长度相同,则这两个串相等5.稀疏矩阵一般的压缩存储方法有两种,即 ()A 、二维数组和三维数组B 、三元组和散列C 、三元组和十字链表D 、散列和十字链表6.按照二叉树的定义,具有3个结点的二叉树有 ()A 、3种B 、4种C 、5种 B 、6种7.不是图的存储结构的是 ( )A 、邻接多重表B 、十字链表C 、关联矩阵D 、可利用空间表 8.在关于动态存储管理,错误的说法是 ( )A 、未被占用的连续地址空间称为空闲块B 、可利用空间表一般采用链表C 、针对内存申请块的大小范围较广时,应该采用首次拟合法D 、针对内存申请块的大小较均匀时,应该采用最差拟合法9.理想情况下,速度最快的查找结构的是 ( )A 、分块索引B 、二叉排序树C 、二叉平衡树D 、哈希表10. 关于各种排序方法,错误的说法是 ( )A 、关键字大小相同的记录,排序后先后顺序不改变,则称为此排序为稳定的B 、内部排序算法的性能由关键字比较次数和记录移动次数决定C 、冒泡排序的时间复杂度为O(nlogn)D 、堆排序使用的堆对应一棵完全二叉树二、概念填空题(共20分,每空2分)1.若使用伙伴系统进行动态存储管理,若申请32个字,选中的空闲块有128个字,则这个空闲块会被分裂为__________个块(最小块大小可以为4)。

2012全国计算机二级C语言_公共基础知识

2012全国计算机二级C语言_公共基础知识

第1章数据结构与算法经过对部分考生的调查以及对近年真题的总结分析,笔试部分经常考查的是算法复杂度、数据结构的概念、栈、二叉树的遍历、二分法查找,读者应对此部分进行重点学习。

详细重点学习知识点:1.算法的概念、算法时间复杂度及空间复杂度的概念2.数据结构的定义、数据逻辑结构及物理结构的定义3.栈的定义及其运算、线性链表的存储方式4.树与二叉树的概念、二叉树的基本性质、完全二叉树的概念、二叉树的遍历5.二分查找法6.冒泡排序法1.1算法考点1 算法的基本概念考试链接:考点1在笔试考试中考核的几率为30%,主要是以填空题的形式出现,分值为2分,此考点为识记内容,读者还应该了解算法中对数据的基本运算。

计算机解题的过程实际上是在实施某种算法,这种算法称为计算机算法。

1.算法的基本特征:可行性、确定性、有穷性、拥有足够的情报。

2.算法的基本要素:(1)算法中对数据的运算和操作一个算法由两种基本要素组成:一是对数据对象的运算和操作;二是算法的控制结构。

在一般的计算机系统中,基本的运算和操作有以下4类:算术运算、逻辑运算、关系运算和数据传输。

(2)算法的控制结构:算法中各操作之间的执行顺序称为算法的控制结构。

描述算法的工具通常有传统流程图、N-S结构化流程图、算法描述语言等。

一个算法一般都可以用顺序、选择、循环3种基本控制结构组合而成。

考点2 算法复杂度考试链接:考点2在笔试考试中,是一个经常考查的内容,在笔试考试中出现的几率为70%,主要是以选择的形式出现,分值为2分,此考点为重点识记内容,读者还应该识记算法时间复杂度及空间复杂度的概念。

1.算法的时间复杂度算法的时间复杂度是指执行算法所需要的计算工作量。

同一个算法用不同的语言实现,或者用不同的编译程序进行编译,或者在不同的计算机上运行,效率均不同。

这表明使用绝对的时间单位衡量算法的效率是不合适的。

撇开这些与计算机硬件、软件有关的因素,可以认为一个特定算法"运行工作量"的大小,只依赖于问题的规模(通常用整数n表示),它是问题规模的函数。

大学大一C语言程序设计期末考试试卷和答案

大学大一C语言程序设计期末考试试卷和答案

四川师范大学计算机科学学院 2012~2013学年度第二学期期末考试C 语言程序设计试卷 试卷A答卷说明:1、本试卷共6页,答题纸3页,4个大题,35个小题,满分100分,120分钟完卷。

2、 闭卷考试,所有的答案都必须写在答题纸上,判卷以答题纸上答案为准。

3、本试卷适用于2011级1、2、3班。

一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。

每小题1分,共20分) 1、 在C 语言中,下列标识符中合法的是( ) A). -intB). in1_3C). A_B!D D). const2、 不属于C 语言基本数据类型的是( )__________________学院__________级___________班 姓名_______________ 学号_______________………………………………(密)………………………………(封)………………………………(线)………………………………密 封 线 内 答 题 无 效A). int B). union C). char D). unsigned3、下面是对宏定义的描述。

不正确的是( )A). 宏不存在类型问题,宏名无类型,它的参数也无类型B). 宏替换不占用运行时间C). 宏替换只是字符串的简单替代D). 宏替换时先检查类型,类型一致时才可以替换4、C语言中,″\\xfds″在内存中占用的字节数是( )A).3 B).4 C).5 D).65、设int x;则执行printf(″%x\n″,~x^x);的结果是( )A). ffffffff B). ff C). 0 D). 16、对于while语句,错误的说法是( )A).用条件控制循环体的执行次数B).循环体至少要执行一次C).循环体有可能一次也不执行D).循环体中可以包含若干条语句7、执行下列语句后输出的结果是( )int a=8,b=7,c=6;if(a<b)if(b>c){a=c;c=b;}printf("%d,%d,%d\n",a,b,c);A).6,7,7 B).6,7,8 C).8,7,6 D).8,7,88、设int a=9,b=20;则printf(″%d,%d\n″,a--,--b);的输出结果是( )A).9,19 B).9,20 C).10,19 D).10,209、设static char x[ ]=″12345″,y[ ]={′1′,′2′,′3′,′4′,′5′,′\0′};那么( )A).x数组的长度等于y数组的长度B).x数组的长度大于y数组的长度C).x数组的长度少于y数组的长度D).x数组与y数组的存储区域相同10、设int i,x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是( )for(i=0;i<3;i++)printf(″%d″,x[i][2-i]);A).147 B).159 C).357 D).36911、执行完下列语句后,n的值是( )int n;for (n=0 ; n<100 ; n=2*n+1);A).125 B).126 C).127 D).12812、有以下语句:int a=6;a+=a-=a*a;printf(“%d”,a);输出结果( )A).–132 B).–60 C). -24 D). 013、为了连接两个字符串s1与s2,应当使用( )A). strcat( s1,s2 ) B). strcpy( s1, s2 ) C). strlen( s1, s2 ) D). strcmp( s1, s2 )14、设int a,*p;则语句p=&a;中的运算符“&”的含义是( )A).位与运算 B).逻辑与运算C).取指针内容 D).取变量地址15、下面输出的结果为( )i nt a=13, b=64;printf(“%d\n”, !a || (b>>3) );A).13 B).64C).1 D).016、 下列定义正确的是( )A).enum t={a,b}x; B). enum t{1,2}x; C).enum{′+′,′-′}x; D). enum t{a,b}x;17、设有定义:struct u{int a[4];float b[3]; char c[16];}aa;则printf(″%d\n ″,sizeof(aa));的输出是( ) A).32 B).36C).12 D).818、 数据-54.78在文本文件中占用的字节个数是( )A).4 B).5C).6 D).819、在宏定义#define p(r) 3.14*r 中,请问宏名是( )A). p B). p(r)C). 3.14*rD). p(r) 3.14*r20、 要打开一个已存在的用于修改的非空二进制文件“hello.txt ”,正确语句是( )A). fp=fopen( "hello.txt ","r" ) B). fp=fopen( "hello.txt ","ab+" )C). fp=fopen( "hello.txt ","w" ) D). fp=fopen( "hello.txt ","r+" )二、填空题(仔细阅读每小题的说明和源代码,并将正确答案写到答题纸上对应的题号处。

C语言笔试试题及答案

C语言笔试试题及答案

C语言笔试试题及答案C语言笔试试题及答案引导语:C语言的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,以下是店铺整理的C语言笔试试题及答案,欢迎参考阅读!选择题((1)-(40)每小题1分,(41)-(50)每小题2分,共60分)下列各题 A) 、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项在答题卡相应位置上涂黑,答在试卷上不得分。

(1) 所谓"裸机"是指A) 单片机 B) 单板机C) 不装备任何软件的计算机 D) 只装备操作系统的计算机(2) 下列存储器中,存取速度最快的是A) 软盘 B) 硬盘 C) 光盘 D) 内存(3) 系统软件中最重要的是A) 操作系统 B) 语言处理程序 C) 工具软件 D) 数据库管理系统(4) CPU处理的数据基本单位为字,一个字的字长A) 为8个二进制位 B) 为16个二进制位C) 为32个二进制位 D) 与CPU芯片的型号有关(5) 打印当前屏幕内容应使用的控制键是A) Scroll-Lock B) Num-Lock C) PgDn D) PrtSc(Print Screen)(6) 能将高级语言源程序转换成目标程序的是A) 调试程序 B) 解释程序 C) 编译程序 D) 编辑程序(7) 二进制数1110111.11转换成十进制数是A) 119.375 B) 119.75 C) 119.125 D) 119.3(8) 十六进制数FF.1转换成十进制数是A) 255.0625 B) 255.125 C) 127.0625 D) 127.125(9) 3.5英寸软盘片的一个角上有一个滑动块,如果移动该滑块露出一个小孔,则该软盘A) 不能读但能写 B) 不能读也不能写 C) 只能读不能写 D) 能读写(10) 控制键^C的功能为A) 终止当前操作 B) 系统复位C) 暂停标准输出设备的输出 D) 结束命令行(11) 为命令处理程序,DOS系统启动后,它A) 驻留在外存,需要时再装入内存 B) 常驻内存,包含所有内部命令C) 不能处理外部命令 D) 不能处理后缀为.EXE的可执行文件(12) 为了将所有扩展名为.PAS的文件改成扩展名为.P,应使用命令A) REN *.PAS *.?AS B) REN PAS PC) REN *.PAS *.P D) REN *.PAS *.P??(13) 设当前盘中文件XY.C的路径为ABXU,当前目录为AB。

2013-2014-2C语言A卷包含答案版

2013-2014-2C语言A卷包含答案版

A卷2013—2014学年第2学期《计算机程序设计C(2-2)》期末考试试卷专业班级姓名学号开课系室计算机应用技术系考试日期 2014年6月22日题号一二三总分得分阅卷人一、程序阅读题(每空2分,共20分)1.又是一年一度的毕业季,马上要离开校园踏上工作岗位的同学们在拍摄完照片之后,大家有了一个共同的想法——那就是在毕业前互换礼物。

到了约定的日子,同学们带来的礼物琳琅满目,都不知道该如何交换了。

于是,在经过讨论后一致决定,大家将n个礼物放在一起统一编号为1,2,……,n,并同时对该礼物的拥有者进行相同编号。

交换的规则是:1号同学与n号同学的礼物互换,2号同学与n-1号同学的礼物互换,以此类推。

请阅读下面程序并完成填空。

#include <stdio.h>#define N 120 + 1int main( ){int a[N] = {0},n,i,j,t;scanf("%d",&n);for( i = 1; i <= n; i++ ){【1】;}for( i = 1, 【2】 ; 【3】 ; i ++, j-- ){t = a[i];a[i] = a[j];a[j] = t;}for( i = 1; i <= n; i ++ ){printf("%d ",a[i]);}printf("\n");return 0;}2.下面函数的功能是统计字符串substr在字符串str中出现的次数,请阅读下面程序段并完成填空。

int count(char str[], char substr[]){int i,j,k,num=0;for (i = 0; str[i] != '\0'; i ++){【4】;for(j = 0; substr[j] != '\0'; k ++,j ++){if(【5】){break;}}if(substr[j] == '\0'){num ++;}}【6】;}13.在Windows操作系统中的“复制-粘贴-重命名”功能,可以实现将文件从一个位置复制粘贴到另外一个位置。

2012贵州省计算机等级考试试题 二级C试题考试重点和考试技巧

2012贵州省计算机等级考试试题 二级C试题考试重点和考试技巧
1、下列叙述中正确的是(A)
A. 线性表是线性结构 B. 栈与队列是非线性结构
C. 线性链表是非线性结构 D. 二叉树是线性结构
2、下面描述中,符合结构化程序设计风格的是(A)
A. 使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑 B. 模块只有一个入口,可以有多个出口 C. 注重提高程序的执行效率 D. 不使用goto语句
C. 对象间的通讯靠消息传递 D. 操作是对象的动态性属性
46、软件需求分析阶段的工作,可以分为四个方面:需求获取、需求分析、编写需求规格说明书以及(B)
A. 阶段性报告 B. 需求评审 C. 总结 D. 都不正确
47、在一棵二叉树上第5层的结点数最多是(B) 注:由公式2(k-1)得
A.程序的规模 B.程序的易读性
C.程序的执行效率 D.程序的可移植性
6、算法一般都可以用哪几种控制结构组合而成(D)
A. 循环、分支、递归 B. 顺序、循环、嵌套
C. 循环、递归、选择 D. 顺序、选择、循环
7、数据的存储结构是指(B)
A. 数据所占的存储空间量 B. 数据的逻辑结构在计算机中的表示
A. 8 B. 16 C. 32 D. 15
48、数据库概念设计的过程中,视图设计一般有三种设计次序,以下各项中不对的是(D)
A. 自顶向下 B. 由底向上 C. 由内向外 D. 由整体到局部
49、在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是(A)
A.交换类排序法 B.插入类排序法 C.选择类排序法 D.建堆排序法
12、在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是(A)

c2012-2013C语言公选试题(参考答案)

c2012-2013C语言公选试题(参考答案)

北京交通大学2012―2013学年第一学期期末考试试题(参考答案)课程名称:C语言程序设计出题教师:集体专业:_________ 班级:__________姓名:_________ 学号:____________答题说明:要求所有解答均写在答卷上,否则无效。

一、阅读程序写结果题(每题5分,共30分)1.执行下列程序的输出结果是【1】。

#include<stdio.h>#define PLUS(X,Y) X-Yvoid main(){ int x=5,y=8,z=4,sum;sum=PLUS(x+y,z)*PLUS(y,z);printf("SUM=%d\n",sum);}输出:sum=-232. 从键盘输入“446755”时,执行下面的程序后,输出为【2】。

#include<stdio.h>void main(){char c;while( (c=getchar())!=‟\n‟){switch(c-…2‟){case 0:case 1: putchar(c+4);case 2: putchar(c+4); break;case 3: putchar(c+3);default:putchar(c+2);}putchar (…\n‟);}}输出:888987873. 下面程序段的运行结果是【3】。

#include<stdio.h>void main(){ char *format="a=%d, b=%d, %s=%d \n";int a=5, b=6, c;c=a*b;printf( format , a , b, "a*b", c);}输出:a=5,b=6,a*b=304. 以下程序段的执行结果为: 【4】。

#include <stdio.h>int f1 (int a[ ], int n){ int i, sum=0;for(i=0; i<n; i++){i f(i%2==0) continue;sum += a[i];}return (sum);}void main (){ int a[5]={1,2,3,4,5}, y;y= f1 (a, 5);printf ("y=%d\n", y);}输出:y=65. 以下程序段的执行结果为: 【5】。

C语言程序设计A卷(答案)

C语言程序设计A卷(答案)

贵州大学2010-2011学年第二学期考试试卷A(答案)C语言程序设计注意事项:1.请考生按要求在试卷装订线内填写姓名、学号和年级专业。

2.请仔细阅读各种题目的回答要求,在规定的位置填写答案。

3.不要在试卷上乱写乱画,不要在装订线内填写无关的内容。

4.满分100分,考试时间为120分钟。

一.单项选择题(本大题共20小题,每小题1分,共20分)1.以下描述中不属于C语言特点的是(B )。

A.预算符丰富B.不允许直接访问物理地址C.语法限制不太严格D.是完全模块化和结构化语言2.在C语言中,回车符是(A )。

A.\n B.\t C.\f D.\b3.下列类型不属于基本类型的是(B )。

A.整形B.指针类型C.浮点型D.空类型4.C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符(C )。

A.必须为字母B.必须为下划线C.必须为字母或下划线D.可以是字母,数字和下划线中任意字符5.下列数据中,不合法的C语言实型数据的是(C )。

A.0.123 B.123e3 C.2.1e3.5 D.789.0 6.下列二进制数据中,-10的补码是( D )。

A.1111111111111001 B.1111111111111100 C.1111111111111010 D.11111111111101107.若变量已正确定义并赋值,以下符合C语言语法的表达式是(B )。

A.a:=b+1 B.a=b=c+2 C.int 18.5 D.a=c+7=c + b 8.以下说法不正确的是(B )。

A.实参可以是常量、变量、表达式B.形参可以是常量、变量、表达式C.实参可以为任意类型D.形参应与对应的实参一致9.下面的运算符中,优先级最高的运算符是( C )。

A.<= B.= C.% D.&&10.初始化i=2,表达式(++i)*3+(i++)的值等于(B )A.11 B.12 C.13 D.1411.以下对二维数组a的正确说明是(C )。

2012年3月计算机二级C语言笔试真题及答案详解

2012年3月计算机二级C语言笔试真题及答案详解

2012年3月全国计算机等级考试二级C语言真题一、选择题1、下列叙述中正确的是:A、循环队列是队列的一种顺序存储结构B、循环队列是队列的一种链式存储结构C、循环队列是非线性结构D、循环队列是一直逻辑结构2、下列叙述中正确的是A、栈是一种先进先出的线性表B、队列是一种后进先出的线性表C、栈和队列都是非线性结构D、以上三种说法都不对3、一棵二叉树共有25个节点,其中5个时子节点,那么度为1的节点数为A、4B、6C、10D、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、确定软件系统的系统的系能需求B、制定软件集成测试计划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 <sthio.h>Main(){Int A=0,B=0,C=0;C=(A-=A-5);(A=B,B+=4);Printf(“%d, %d, %d\n”,A,B,C)}程序运行后输出的结果是A 0,4,5B 4,4,5C 4,4,4D 0,0,018、设变量均已正确定义并且赋值,以下与其他三组输出结构不同的一组语句是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 1B 0.000001C 0D 100.020、有以下程序#include <sthio.h>Main(){ int a;Scanf(“%d”,&a);If(a++<9) printf((“%d\n”,a);Else printf((“%d\n”,a--);}程序运行时键盘输入9<回车>,则输出的结构是A、10 B 11 C 9 D 821、有以下程序#include <sthio.h>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;Case 4;s+=4;}printf((“%d\n”,s);}}程序运行后的结果是A 1,2,4B 1,3,6C 3,10,14D 3,6,1022、若k是int类型变量,且有以下for语句For(k=-1;k<0;k++)printf(****\n”);下面关于语句执行情况的叙述中正确的是A、循环体执行一次B、循环体执行两次C、循环体一次也不执行D、构成无限循环23、有以下程序#include <sthio.h>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);}}程序运行后输出的结果是A 1B3D5FB ABCDFEC A2C4E6D 12345624、设有如下定义语句Int m[ ]={2,4,6,8},*k=m;以下选项中,表达式的值为6的是A *(k+2)B k+2C *k+2D *k+=225、fun函数的功能是:通过键盘输入给x所指的整型数组所有元素赋值。

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

贵州大学2012-20103学年第一学期考试试卷 AC语言程序设计满分100分,考试时间为120分钟。

一、单项选择题(选出一个正确答案,每小题2分,共20分)1.完成C源文件编辑后、到生成执行文件,C语言处理系统必须执行的步骤依次为( )A.连接、编译B. 连接、运行C. 编译、运行D. 编译、连接2.下列说法正确的是()A.一个c语言程序并非总是从主函数位置开始执行的B.一个c语言程序有且只有一个主函数C.函数可以嵌套定义,不可以嵌套调用D.程序函数的位置不可以任意3.下面是合法C语言标识符的是()A. 2A_K;B. _M+N;C. –M3;D. AC_2;4.下列格式符中,可以用于控制字符输出的是( )A. %dB. %fC. %oD. %c5.设x、y、z和k都是int型变量,则执行表达式x=(y=4,z=16,k=30)后,x的值是( )A. 4;B. 16;C. 30;D. 50;6.执行语句“for(i=1,s=0;i<=5;i++) s+=i;”后,变量s、i的当前值是( )A. 10,5B. 15,6C. 15,5D. 10,67.若有定义 int x,*p;,则以下正确的赋值表达式是( )A. p=x;B. p=&x;C. *p=&x;D. *p=*x;8.以下对结构体类型变量的定义中,不正确的是( )A. typedef struct aaB. #define AA struct aa{ int n;AA { int n; float m; float m; }AA; }stud; AA stud;C. structD. struct { int n; { int n; float m; float m; }aa; }stud; struct aa stud;9.有如下函数调用语句:func(rec1,rec2+rec3,(rec4+rec5)); 函数调用语句中,含有的实参个数是( )A. 3B. 4C. 5D. 以上均不是10.对于以下宏定义: #define SQ(x) x*x#define QQ(x,y) SQ(x)- SQ(y) 宏调用QQ(2*3,2+3)执行后值为( )A.25B.11C.43D.以上均不是二、填空题(每空2分,共20分)1.设int a=5, c=32;float b=2.5;,表达式b+c/a的值为___ ___2.若x和a均是int型变量,则计算x=(a=4,6*2)后x的值是 __。

3.设a=3,b=4,c=5。

则a+b>c&&b==c的值为 ___。

4.有如下程序段:int k=10;while(k=0) k=k-1;则循环体语句执行___ 次。

5.int i=0,s=0; while (i<n) s+=i++; 等价于 int i,s;for(______;________;________);6.将p说明为字符数组指针,数组大小为10,应写为______________;7.对于 int *p,*q,i=5,j=6; ,执行:p=&i;q=p;p=&j;输出结果(*p)=_______,(*q)=________。

三、程序阅读题(请写出程序的输出结果。

每题6分,共30分)1. #include <stdio.h>main(){int i,j,m,n;i=8; j=10; m=++i; n=j++;printf(″%d, %d, %d, %d″,i,j,m,n);}输出结果:2 . #include <stdio.h>main(){ int i;for(i=3;i<10;i++){ if(i*i/20>1) break;printf("%d; ",i); }printf("\n"); }输出结果:3. #include <stdio.h>int fac(int n){ static int f=1;f=f*n;return(f); }main(){ int i;for(i=2;i<=5;i++)printf(“%d!=%d\n”,i,fac(i)); }输出结果:4. #include <stdio.h>main(){ char s[ ]=“ABCD”,*p;for(p=s+1; *p!=’\0’; p++)printf(“%s\n”,p);}输出结果:5. #include <stdio.h>int f(char *s){ int k=0;while(*s) k=k*10+*s++-‘0’;return(k); }main( ){ int a;a=f(“1234”);printf(“a=%d\n”,a); }输出结果:四、根据下列各编程题题意填空(每空2分,共10分)1、用for循环打印 1 4 7 10 13 16 19 22 25 , 其语句应为:for (i=1; i<=9; i++) printf(“%3d”, ___);2、程序A如下:int f(int n){if(n<=1) return n;else return f(n-1)+f(n-2); }等价于程序B:int f(int n){ _____; t0=0;t1=1;t=n;while(_____) {t=______; t0=t1; t1=t;n--; }return ______;}五、编程题(第1题8分,第2题12分,共20分)1.求分数序列:2/1,3/2,5/3,8/5,13/8,21/13,…,的前20项之和。

2. 输入5个字符串,从中找出最大的字符串并输出。

要求:用二维字符数组存放这5个字符串,用指针数组元素分别指向这5个字符串,用一个二级指针变量指向这个指针数组。

答案一、单项选择题(每小题2分,共20分)1-5、DBDDC 6-10、BBCAC二、填空题(每空2分,共20分)1.8.52. 123. 04. 05. i=0,s=0; i<n; s+=i++6. char (*p)[10]7. 6 , 5三、程序阅读题(每题6分,共30分)1 9,11,9,102. 3;4;5;6;3. 2!=23!=64!=245!=1204 BCDCDD5 1234四、根据下列各编程题题意填空(每空2分,共10分)1. 3*i-22. int t0,t1,t n>=2 t0+t1 t五、编程题(第1题8分,第2题12分,共20分)1. #include <stdio.h>main( ){ int n,t; float a=2,b=1,s=0;for (n=1;n<=20;n++){ s=s+a/b;t=a; a+=b;b=t; }printf(“the total is %f\n”,s); }2. #include <stdio.h>main( ){ char a[5][80],*p[5],**q,**max; int i;for (i=0;i<5;i++)p[i]=a[i];for (i=0;i<5;i++)gets(p[i]);max=&p[0];q=&p[1];for (i=1;i<5;i++,q++)if (strcmp(*max,*q)<0 max=q; puts(*max); }C语言最重要的知识点总体上必须清楚的:1)程序结构是三种: 顺序结构、选择结构(分支结构)、循环结构。

2)读程序都要从main( )入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择),有且只有一个main函数。

3)计算机的数据在电脑中保存是以二进制的形式. 数据存放的位置就是他的地址.4)bit是位是指为0 或者1。

byte是指字节, 一个字节= 八个位.概念常考到的:1、编译预处理不是C语言的一部分,不占运行时间,不要加分号。

C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。

2、define PI 3.1415926; 这个写法是错误的,一定不能出现分号。

3、每个C语言程序中main函数是有且只有一个。

4、在函数中不可以再定义函数。

5、算法:可以没有输入,但是一定要有输出。

6、break可用于循环结构和switch语句。

7、逗号运算符的级别最低,赋值的级别倒数第二。

第一章C语言的基础知识第一节、对C语言的基础认识1、C语言编写的程序称为源程序,又称为编译单位。

2、C语言书写格式是自由的,每行可以写多个语句,可以写多行。

3、一个C语言程序有且只有一个main函数,是程序运行的起点。

第二节、熟悉vc++1、VC是软件,用来运行写的C语言程序。

2、每个C语言程序写完后,都是先编译,后链接,最后运行。

(.c---→.obj---→.exe)这个过程中注意.c和.obj文件时无法运行的,只有.exe 文件才可以运行。

(常考!)第三节、标识符所谓标识符是指常量、变量、语句标号以及用户自定义函数的名称。

C语言规定标识符只能由字母、数字、下划线组成,并且只能由字母、下划线开头。

一些标识符被赋于特定的含义就叫做保留字(或称为关键字)。

1、标识符(必考内容):合法的要求是由字母,数字,下划线组成。

有其它元素就错了。

并且第一个必须为字母或则是下划线。

第一个为数字就错了2、标识符分为关键字、预定义标识符、用户标识符。

关键字:不可以作为用户标识符号。

main define scanf printf 都不是关键字。

迷惑你的地方If是可以做为用户标识符。

因为If中的第一个字母大写了,所以不是关键字。

预定义标识符:背诵define scanf printf include。

记住预定义标识符可以做为用户标识符。

用户标识符:基本上每年都考,详细请见书上习题。

第四节:进制的转换十进制转换成二进制、八进制、十六进制。

二进制、八进制、十六进制转换成十进制。

第五节:整数与实数1)C语言只有八、十、十六进制,没有二进制。

但是运行时候,所有的进制都要转换成二进制来进行处理。

(考过两次)a、C语言中的八进制规定要以0开头。

018的数值是非法的,八进制是没有8的,逢8进1。

b、C语言中的十六进制规定要以0x开头。

2)小数的合法写法:C语言小数点两边有一个是零的话,可以不用写。

1.0在C语言中可写成1.0.1在C语言中可以写成.1。

3)实型数据的合法形式:a、2.333e-1 就是合法的,且数据是2.333×10-1。

b、考试口诀:e前e后必有数,e后必为整数。

相关文档
最新文档