《C程序设计》模拟试题二及参考答案
二级C++语言程序设计模拟试题及答案解析(8)
二级C++语言程序设计模拟试题及答案解析(8)(1/40)单项选择题第1题下面叙述中错误的是______。
A.软件测试的目的是发现错误并改正错误B.对被调试的程序进行“错误定位”是程序调试的必要步骤C.程序调试通常也称为DebugD.软件测试应严格执行测试计划,排除测试的随意性下一题(2/40)单项选择题第2题下列语句都是程序运行时的第1条输出语句,其中一条语句的输出效果与其他三条语句不同,该语句是______。
A.cout<<internal<<32345;B.cout<<left<<12345;C.cout<<right<<12345;D.cout<<setw(6)<<12345;上一题下一题(3/40)单项选择题第3题有如下程序:#include<iostream>using namespace std;class test{private:int a;public:test(){cout<<"constructor"<<endl;}test(int a){cout<<a<<endl;}test(const test &_test){a=_test.a;cout<<"copy constructor"<<endl;}~test(){cout<<"destructor"<<endl;}};int main(){test A(3);return 0;}执行这个程序的输出结果是______。
A.3B.constructordestructorC.copy constructordestructorD.3destructor上一题下一题(4/40)单项选择题第4题索引属于A.模式B.内模式C.外模式D.概念模式上一题下一题(5/40)单项选择题第5题C++模板包括。
A.类模板和函数模板B.模板类和模板函数C.类和函数D.对象和函数上一题下一题(6/40)单项选择题第6题有如下程序:#include<iostream>using namespace std;class Base{protected:Base(){cout<<'Base';}Base(char c){cout<<c;}};class Derived:public Base{public:Derived(char c){cout<<c;}};int main(){Derived d('Derived');return 0;}执行这个程序屏幕上将显示输出。
C语言程序设计试题集及其答案 (2)
第一章基础知识一.填空1.每个C程序都必须有且仅有一个________ 函数。
2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。
3. 软件是程序,以及______、使用和维护所需要的所有文档。
4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。
5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。
6. C语言是由________组成的。
7. C语言的函数可分为主函数main、标准库函数和_________。
8. 一个函数是由两部分组成的,即:________和函数体。
9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。
10.程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作的要求。
不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。
11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。
12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对象,也可以用标号和符号来代替地址、常量和变量。
13.在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。
14. C程序的执行均是由执行_________开始。
15.函数体即为包含在{}内的部分。
它分为________和为完成功能任务由若干个C 语句组成的执行部分。
16.C语言程序中一条简单语句是以________字符作为结束符的。
17.C语言是结构化、________的程序设计语言。
国家二级C语言机试(程序设计题)模拟试卷2(题后含答案及解析)
国家二级C语言机试(程序设计题)模拟试卷2(题后含答案及解析) 题型有:1.1.使用VC++2010打开考生文件夹下prog1中的解决方案。
此解决方案的项目中包含一个源程序文件prog1.c。
在此程序中,函数fun的功能是:将s所指字符串中下标为偶数同时ASCII值为奇数的字符删除,s所指串中剩余的字符形成的新串放在t所指的数组中。
例如,若8所指字符串中的内容为“ABCDEFG12345”,其中字符C的ASCII码值为奇数,在数组中的下标为偶数,因此必须删除;而字符1的ASCII码值为奇数,在数组中的下标为奇数,因此不应当删除,其他依此类推。
最后t所指的数组中的内容应是“BDF12345”。
注意:部分源程序在文件PROG1.C中。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:#include<stdio.h>#include<string.h>void fun(char*s,char t[]){}main( ){char s[100],t[100];void NONO( );printf(“\nPlease enter string S:”);Scanf(“%s”,s);fun(s,t);printf(“\nThe result is:%s\n”,t);NONO( );}void NONO( ){/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。
*/chars[100],t[100];FTLE*rf,*wf;int i;rf=fopen(“in.dat”,”r”);wf=fopen(“out.dat”,”w”);for(i=0;i<10;i++){fscanf(rf,”%s”,s);fun(s,t);fprintf(wf,”%s\n”,t);}fclose(rf);fclose(wf);}正确答案:void fun(char*s,char t[]){int i,j=0;for(i=0;i<strlen(s);i++)if(!((i%2)==0&&(s[i]%2)))t[j++]=s[i];t[j]=0;}解析:本题是从一个字符串按要求生成另一个新的字符串。
c语言程序设计二级考试答案
c语言程序设计二级考试答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义函数?A. classB. functionC. voidD. int答案:D2. C语言中,用于表示逻辑“与”操作的运算符是什么?A. &&B. ||C. !D. ∨答案:A3. 下列哪个选项是正确的C语言变量声明?A. int a = 10;B. int 10 = a;C. int a = 10.0;D. int a = 10.0f;答案:A4. C语言中,以下哪个是正确的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello, World!"'D. 'Hello, World!'答案:A5. 在C语言中,哪个函数用于计算数组中元素的个数?A. strlenB. sizeofC. countD. length答案:B6. C语言中,以下哪个是正确的二维数组声明?A. int array[3][2];B. int array[3,2];C. int array[2][];D. int array[][];答案:A7. 在C语言中,以下哪个选项是正确的循环结构?A. for (int i = 0; i < 10; i++)B. for i = 0; i < 10; i++C. for (int i = 0; i <= 10; i--)D. for (i = 0; i <= 10; i++)答案:A8. C语言中,以下哪个是正确的函数原型声明?A. void myFunction();B. void myFunction(int);C. int myFunction();D. int myFunction(int);答案:D9. 在C语言中,以下哪个选项是正确的结构体声明?A. struct Student {int id;char name[50];};B. struct {int id;char name[50];} Student;C. struct Student id, name;D. struct Student {int id;char name;};答案:A10. C语言中,以下哪个选项是正确的指针声明?A. int *ptr;B. int *ptr = 0;C. int ptr = 0;D. int *ptr = NULL;答案:D二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个全局变量。
c语言程序设计教程(第2版)课后题及模拟题参考答案
c语言程序设计教程(第2版)课后题及模拟题参考答案习题11-1 填空题1.函数2.主函数main(),主函数main()3.主函数main()4.函数首部,函数体5.{, }6./*, */7.顺序结构,选择结构,循环结构8..c, .obj, .exe1-2 思考题1.结构化程序设计是指:为使程序具有一个合理的结构以保证程序正确性而规定的一套如何进行程序设计的原则。
其基本结构包括顺序结构、选择结构和循环结构三种。
2.算法是对具体问题求解步骤的一种描述。
计算机算法的表达工具通常采用以下几种方法:(1)用自然语言表示算(2)用流程图表示算法(3)用伪代码表示算法(4)用程序设计语言表示算法3.语言简洁、紧凑,使用方便、灵活; 支持结构化程序设计;运算符丰富;数据类型丰富;较强的编译预处理功能;C语言的可移植性好;C语言本身既有一般高级语言的优点,又有低级(汇编)语言的特点;语法限制不太严格,程序设计自由度大。
1-3 编程题1. 试参照本章例题编写计算梯形面积的C语言程序,梯形的上底、下底和高分别用a,b,h表示,并用a=10,b=20,h=5测试所编写的程序。
#include "stdio.h"main(){ float a, b, h, s;a=10; b=20;h=5; s=(a+b)*h/2;printf("s=%f\n" , s );}2. 编写程序显示如图1.11所示信息。
图1.11 显示信息#include "stdio.h"main(){ printf("******************************\n");printf("* hello world *\n");printf("******************************\n"); }习题22-1 单选题1~5 DBDCA 6~10 DCABA 11~12 CA 2-2 思考题1.2.0000002.1,0.53.9,24.65.100,d6.(1)20 (2)0 (3)607. (1)10,6,4 (2)6,9,15 (3)3,60,838. 55习题33-1 选择题1-5BDABC 6-10ADCAC 11-12BB3-2 填空题1. 32.02613.0x104. 2, 1 互换a,b的值5. 6.66.–0038.77. 5.0,4,c=3<Enter>8.i=10,j=20<Enter>9.(1) 65(2) 65,A(3) 56.123400,123.456001(4) 3.141600(5) 8765.432(6) 5.864000e+002(7) 3.141600e+000(8) 3.1416(9) 8765(10) 3.1416,8765.4310.a=2 b=5x=8.8 y=76.34c1=65 c2=973-3 编程题1. 编写程序实现从键盘输入两个十进制整型数据10和8给变量x和y,并按下列格式 输出。
全国计算机等级考试《二级C语言程序设计》模拟试卷二
全国计算机等级考试《二级C语言程序设计》模拟试卷二[单选题]1.在下列模式中,能够给出数据库物理存储结构与物理存取方法的是((江南博哥))。
A.外模式B.内模式C.概念模式D.逻辑模式参考答案:B参考解析:数据库管理系统的三级模式包括:①外模式,也称子模式、用户模式,是指数据库用户所看到的数据结构,是用户看到的数据视图;②模式,也称逻辑模式,是数据库中对全体数据的逻辑结构和特性的描述,是所有用户所见到的数据视图的总和;③内模式,也称存储模式、物理模式,是指数据在数据库系统内的存储介质上的表示,是对数据的物理结构和存取方式的描述。
答案选择B选项。
[单选题]4.下面不属于需求分析阶段任务的是()。
A.确定软件系统的功能需求B.确定软件系统的性能需求C.需求规格说明书评审D.制定软件集成测试计划参考答案:D参考解析:需求分析阶段的工作主要包括4个方面:①需求获取,其目的是确定对目标系统的各方面需求;②需求分析,对获取的需求进行分析和综合,最终给出系统的解决方案和目标系统的逻辑模型;③编写文档,编写需求规格说明书,编写初步用户使用手册;④确认测试计划,修改完善软件开发计划,需求评审。
制定软件集成测试计划属于概要设计阶段的任务。
答案选择D选项。
[单选题]5.结构化程序的三种基本控制结构是()。
A.顺序、选择和重复(循环)B.过程、子程序和分程序C.顺序、选择和调用D.调用、返回和转移参考答案:A参考解析:结构化程序设计中三种基本控制结构为顺序、选择和重复(循环)。
答案选择A选项。
[单选题]6.构成计算机软件的是()。
A.源代码B.程序和数据C.程序和文档D.程序、数据及相关文档参考答案:D参考解析:计算机软件的定义为:与计算机系统的操作有关的计算机程序、规程、规则,以及可能有的文件、文档及数据。
答案选择D选项。
[单选题]7.在黑盒测试方法中,设计测试用例的主要根据是()。
A.程序内部逻辑B.程序外部功能C.程序数据结构D.程序流程图参考答案:B参考解析:黑盒测试完全不考虑程序内部的逻辑结构和内部特性,只根据程序的需求和功能规格说明,检查程序的功能是否符合它的功能规格说明。
二级C语言程序设计模拟试题及答案解析(最终)
二级C语言程序设计模拟试题及答案解析〔9〕(1/2) 程序填空题第1 题程序通过定义学生布局体变量,存储了学生的学号、姓名和三门课的成就。
所有学生数据均以二进制方式输出到文件中。
函数fun 的功能是重写形参filename 所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生本来的数据,其他学生的数据不变。
请在程序的下划线处填入正确的内容,使程序得出正确的成果。
注意:局部源程序给出如下。
!不得增行或删行,也不得更改程序的布局试题程序:#include<>#define N 5typedef struct student{long sno;char name[10];float score[3];}STU;void fun(char*filename,STU n)(FILE*fp;/**********found**********/fp=fopen(______,"rb+");/**********found**********/fseek(______,-(long)sizeof(STU),SEEK_END);/**********found**********/fwrite(&n,sizeof(STU),1,______);fclose(fp);}main()(STUt[N]={{10001,"MaChao",91,92,77},{10002,"CaoKai",75,60,88},{10003,"LiSi",85,70,78},{10004,"Fa ngFang",90,82,87},{10005,"ZhangSan",95,80,88}};STU n={10006,"ZhaoSi",55,70,68},ss[N];inti,j; FILE*fp;fp=fopen("student.dat","wb");fwrite(t,sizeof(STU),N,fp);fclose(fp);fp=fopen("student.dat","rb");fread(ss,sizeof(STU),N,fp);fclose(fp);printf("\nThe original data:\n\n");for(j=0; j <N; j++){printf("\nNo:%ld Name:%-8s Scores:",ss[j]. sno,ss[j].name);for(i=0;i <3;i++)printf("%6.2f"ss[j].score[i]);}fun("student.dat",n);printf("\nThe data after modifing:\n\n");fp=fopen("student.dat","rb");fread(ss,sizeof(STU),N,fp);fclose(fp);for (j=0; j <N;j++){printf("\nNo:%ld Name:%-8s Scores:",ss[j]. sno,ss[j].name);for(i=0; i <3;i++)printf 〔““. ss[j].score[i];printf(:\n");}}下一题(2/2) 程序填空题第2 题给定程序中,函数fun 的功能是:判定形参 a 所指的N×N(规定N 为奇数)的矩阵是否是“幻方〞,假设是,那么函数返回值为1;假设不是,那么函数返回值为0。
C语言程序设计试题及答案解析2
D、char=int=<long int <=float<double 答案:A 在 C 语言中(VC 环境) ,一定是长整型常数的是: ( ) A、0L B、4962710 C、0412765 D、0xa34b7fe 答案:A 若有以下定义语句 char c1=’b’, c2=’e’; printf(“%d,%c\n”,c2-c1,c2-‘a’+’A’);则输 出结果是: ( ) A、2,M B、3,E C、2,E D、输出项与相应的格式控制不一致,输出结果不 确定 答案:B 以下合法的赋值语句是: ( ) A、x=y=100 B、d--; C、 x + y D、c = int(a+b); 答案:B 设变量 t 为 int 型,下列选项中不正确的赋值语句是: ( ) A、++t; B、n1=(n2=(n3=0)); C、k=i==m; D、a=b+c=1; 答案:D 在以下一组运算符中,优先级最高的是: ( ) A、<= B、== C、% D、&& 答案:C 下列能正确表示 a≥10 或 a≤0 的关系表达式是: ( ) A、a>=10 or a<=0 B、a<=10 || a>=0 C、a>=10 || a<=0 D、a>=10 && a<=0 答案:C 下列只有当整数 x 为奇数时,其值为“真”的表达式是: ( ) A、x%2==0 B、!(x%2==0) C、(x-x/2*2)==0 D、!(x%2) 答案:B 设 a 为整型变量,不能正确表达数学关系 10<a<15 的 C 语言表达式是: ( ) A、1 0< a < 15 B、!(a<=10 || a>=15) C、a>10 && a<15 D、!(a<=10) && !(a>=15) 答案:A 已知 x=43, ch=’A’ ,y=0;则表达式(x>=y&&ch<’B’&&!y)的值是: ( ) A、0 B、语法错 C、1 D、 “假” 答案:C 表达式 17%4 /8 的值为: ( ) A、0 B、1 C、2 D、3 答案:A 语句 printf(“%d”,(a=2)&&(b= -2));的输出结果是: ( ) A、无输出 B、结果不确定 C、-1 D、1 答案:D 一个可执行的 C 程序的开始执行点是: ( ) A. 程序中的第一个语句 B. 包含文件中的第一个函数 C. 名为 main 的函数 D. 程序中的第一个函数 答案:C
《C语言程序设计》试题2及答案
二一、填空题1、C语言中普通整型变量的类型说明符为,在内存中占字节,有符号普通整型的数据范围是。
2、C语言中基本的数据类型有:、、。
3、设整型变量n的值为2,执行语句“n+=n-=n*n”后,n的值是。
4、共用体和结构体的定义格式类似,不同点是。
5、有如下输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是。
6、有语句:char A[ ]={”I am a student”};该字符串的长度是,A[3]= 。
7、符号”a”和’a’的区别。
8、下列程序的输出结果是。
int ast(int x,int y,int * cp,int * dp){ *cp=x+y; *dp=x-y; }main(){ int a=4,b=3,c,d;ast(a,b,&c,&d);printf("%d,%d/n",c,d); }二、选择题1、以下选项中属于C语言的数据类型是(B )。
A. 复合型B. 双精度型C. 逻辑型D. 集合型2、以下说法中正确的是( C )。
A. C语言程序总是从第一个的函数开始执行B. 在C语言程序中,要调用的函数必须在main()函数中定义C. C语言程序总是从main()函数开始执行D. C语言程序中的main()函数必须放在程序的开始部分3、选出下列标识符中不是合法的标识符的是( D )。
A. hot_doB. cat1C. _priD. 2ab4、下列描述中不正确的是( C )。
A.字符型数组中可能存放字符串。
B.可以对字符型数组进行整体输入、输出。
C.可以对整型数组进行整体输入、输出。
D.不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。
5、若已定义:int a[9], *p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式为( C )。
C语言模拟试题II
《C语言程序设计教程实验与练习》(第二版)模拟试题II及答案一、单项选择题(每题2分,30道题,共60分)1.下面的程序将输出:main(){float f;int x=1,y=;f=x/y;printf("f=%,y=%#X", f, y );}= , y=2 = , y=0X2 = , y=0X2 = , y=22.下面的程序将输出:#include ""main(){int len;char str[]="a\b\04235\0";len=strlen(str);printf("%d",len);}A. 10B. 5C. 6D. 73.下面的程序将输出:main(){int a=0x31;char *str[]={"this is one. ","this is two. "};char ch;ch=++a-’0’;switch(ch){case 1: printf ("%s", str[0]);case 2: printf ("%s", str[1]);default: printf ("no way! ");}}is one. is two. way! is way!4.下面的程序将输出:main(){int a[5]={1,2,3};int k,j;for(k=1;k<4;k++)a[k]++;for(j=0;j<5;j++)printf("%d ",a[j]);}3 4 1 0 3 4 1 0 3 4 0 0 3 4 0 05.已知有下面两个变量,将数组a的第2个单元赋值为1的C语句是:int a[10];int *p;p=a;[2]=1; [1]=1; C.*(p++)=1; D.*(++a)=1;6.下面程序将输出:void add(int a){a++;return;}main(){int k;k=;add(k);printf("%d",k);}A. B. C. 3 D. 47.下列循环结构中,不是..无限循环的是:A. for(i=1, s=0; ; i++)B. i=10;s=s+i ; while(1){i=i%10+1;if(i>10) break; }C. int i=0;D. i =100;do{ ++i ; }while(i>=0); while(++i%2) i++;8.若已知int a[3][4],*p;p=(int *)a;那么对数组a的第2行第2列的正确引用是:[2][2] [5] [5] [1][1]9.已知:int (*p)[20]; 且p的值是0X5000,请问表达式p+2的值是多少?A. 0X5050B. 0X5002C. 0X5004D. 0X504010.若有说明int a[2][2];那么,下面正确的C赋值语句是:=2; [1]=2; [1]={1,2}; [0][1]=a[1][0];11.设x为int型变量,则执行以下语句后,x的值为x=10; x+=x-=x-x;A.10 B.20 C.40 D.3012.已知x=43,ch='A',y=0;则表达式(x>=y&&ch<'B'&&!y)的值是:A.0 B.语法错C.1 D."假"13.下面能正确进行字符串...赋值操作的语句是:A.char s[5]={"ABCDE"}; B.char s[]={'A','B','C','D','E'};C.char *s;s="ABCDEF"; D.char *s;scanf("%s",s);14.已知:int a[3][4], *p=&a[0][0]; p+=6; 那么*p 和_____的值相同.A.(a+6) B.*(&a[0]+6) C.a[2][2] D.*(&a[0][0]+6) 15.设有以下说明和定义:typedef union { long i; int k[4]; char c; }DATE;struct date { int cat; DATE cow; double dog; } too;DATE max;则下列语句的执行结果是printf ("%d",sizeof (struct date ) +sizeof(max));A.26 B.30 C.18 D.816.设有如下定义:int *(*ptr)();则以下叙述中正确的是A.ptr是指向一维组数的指针变量B.ptr是指向int型数据的指针变量C.ptr是指向函数的指针,该函数返回一个int型数据D.ptr是指向函数的指针,该函数的返回值是指向int型数据的指针17.若二维数组a 有m列,则在a[i][j]之前的元素个数为______A.j*m+i B.i*m+j C. i*m+j-1 D.i*m+j+118.以下程序运行后,输出结果是A.13 B.51 C.11 D.53int d=1;fun (int p){int d=5;p=d;printf("%d",p);}main(){int a=3;fun(a);d=a;printf("%d\n",d);}19.以下程序运行后,如果从键盘上输入ABCDE<回车>,则输出结果为A.4 B.7 C.6 D.5#include<>#include<>func(char str[ ] ){ int num =0;while(*(str+num)!='\0') num++;return(num);}main( ){char str[10],*p=str;gets(p); printf("%d\n",func(p));}20.执行以下程序段后,m的值为int a[2][3]={ {1,2,3},{4,5,6} };int m,*p;p=&a[0][0];m=(*p)*(*(p+2))*(*(p+4));A.15 B.14 C.13 D.1221.已知定义了两个结构体变量,下面是正确的语句是:struct {int x; char name[10]; float mark;} S1,S2;A. S1={5, ”yang”, };B. S1=S2;C. = ; = ; =;D. strcpy(S1,S2);22.下面这段程序运行的结果是:int a=0x4145;char *p;p=(char *)&a;*p+=1;printf(“%X” , *p);A. 46B. 4223.下面这段程序运行的结果是:char str[ ]=”%#X”;int a=50;printf(str,a++);D.有语法错24.下面哪个语句是函数的原型声明A. int (*f)(int a , int b);B. int f(int a , 5);C. int f(int a , int b);D. int f(int a=5, int b=6);25.已知int a=0XF11F , b; 执行完下面的操作后,a的值是多少?b=(a&0xFF00)>>4;A. 0X0FF1B. 0XF11F D. 0XFFF126.有以下程序:int a=2;int f(int *a){return (*a)++;}main( ){ int s=0;{ int a=5;s+=f(&a);}s+=f(&a);printf("%d\n",s);}执行后输出结果是。
c语言程序设计模拟试题2(附答案)
printf("%d,",a+=10); } void f2(void) {
printf("%d,",a+=3); } void main() {
int a=10; f1(a); f2(); printf("%d\n",a); } (A)60,63,60 (B)20,23,23 (C)20,13,10 (D)20,53,10 15.执行下述程序的输出结果是 (A )。 #include <> int power(int x,int y); main() { float a=,b=; int p; p=power((int)a,(int)b); printf("%d\n",p); } int power(int x,int y) { int i,p=1; for (i=y;i>0;i--) p=p*x; return (p); } (A)8 (B)9 (C)27 (D)81 16.已知函数 scopy 的定义如下 void scopy(char *s,char *t)
invert(a,n-1); for (i=0;i<10;i++)
printf("%3d printf("\n");
” ,a[i]);
}
invert(int *s,int num)
{
int *t,k;
t=s+num; while (____t>=s ________)
{
k=*s;
*s=*t;
*t=k; s++;
c语言程序设计第2版习题答案
c语言程序设计第2版习题答案1. 基础语法练习题- 题目:编写一个程序,计算并输出1到10的和。
- 答案:使用一个循环结构,累加1到10的数值。
```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 10; ++i) {sum += i;}printf("The sum from 1 to 10 is: %d\n", sum);return 0;}```2. 数组和字符串练习题- 题目:编写一个程序,找出一个字符串中出现次数最多的字符,并输出它。
- 答案:使用数组来统计每个字符的出现次数,然后找出最大值。
```c#include <stdio.h>#include <string.h>int main() {char str[] = "example string";int maxCount = 0;char maxChar = str[0];int charCount[256] = {0};for (int i = 0; str[i] != '\0'; ++i) {charCount[(int)str[i]]++;if (charCount[(int)str[i]] > maxCount) { maxCount = charCount[(int)str[i]];maxChar = str[i];}}printf("The most frequent character is: %c\n", maxChar);return 0;}```3. 函数和指针练习题- 题目:编写一个函数,交换两个整数的值。
- 答案:使用指针来实现参数的传递。
```c#include <stdio.h>void swap(int *x, int *y) {int temp = *x;*x = *y;*y = temp;}int main() {int a = 5, b = 10;printf("Before swap: a = %d, b = %d\n", a, b);swap(&a, &b);printf("After swap: a = %d, b = %d\n", a, b);return 0;}```4. 结构体和文件操作练习题- 题目:定义一个结构体,包含学生姓名、学号和成绩,编写程序,将学生信息存储到文件中。
《二级C语言》模拟考试题+参考答案
《二级C语言》模拟考试题+参考答案1、设二叉树如下:则前序遍历为()。
A、ABDEGCFHB、DBGEAFHCC、DGEBHFCAD、ABCDEFGH答案:A2、下面概念中,不属于面向对象方法的是()。
A、继承B、类C、对象D、过程调用答案:D3、下列叙述中正确的是()。
A、break语句只能用于switch语句B、break语句必须与switch语句中的case配对使用C、在switch语句中,不一定使用break语句D、在switch语句中,必须使用default答案:C4、以下程序段中,循环次数不超过10的是()。
A、int i=10do{i=i+1}whilei<0B、int i=6do{i-=2}whilei!=1C、int i=int i=5do{i+=1}whilei>0D、int i=1do{i+=2}whilei!=10答案:A5、对图书进行编目时,图书有如下属性:ISBN书号,书名,作者,出版社,出版日期。
能作为关键字的是()。
A、ISBN书号B、书名C、作者,出版社D、出版社,出版日期答案:A6、下列不属于数据库设计任务的是()。
A、设计数据库物理结构B、设计数据库概论结构C、设计数据库逻辑结构D、设计数据库应用结构答案:D7、一个栈的初始状态为空。
现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出的顺序是()。
A、12345ABCDEB、EDCBA54321C、ABCDE12345D、54321EDCBA答案:B8、以下不能用于实型数据的运算符是()。
A、+B、%C、*D、/答案:B9、若要实现total=1+2+3+4+5求和,以下程序段错误的是()。
A、int i=0,total=0whilei<5 { i+=1total+=i}B、int i=1,total=0whilei<=5 { total+=ii+=1}C、int i=0,total=0whilei<=5 { total+=ii+=1}D、int i=1,total=1whilei<5 { total+=ii+=1}答案:D10、有以下定义 inta; long b; double x,y; 则以下选项中正确的表达式是()。
c语言二级程序设计试题及答案
c语言二级程序设计试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,错误的是:A. C语言是一种高级语言B. C语言是面向对象的程序设计语言C. C语言具有丰富的数据类型D. C语言具有结构化的特点答案:B2. 在C语言中,用于定义一个整型数组的语句是:A. int a[10];B. int a[];C. int a(10);D. int a=10;答案:A3. 下列哪个选项是正确的C语言函数声明?A. int function(int a, int b);B. int function(int, int);C. int function(int a);D. int function();答案:B4. 在C语言中,用于输入一个字符的函数是:A. scanf()B. printf()C. getchar()D. puts()答案:C5. 下列哪个选项不是C语言中的控制语句?A. ifB. switchC. forD. do-while答案:B6. 在C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A7. 下列哪个选项是正确的C语言指针声明?A. int *p;B. int *p[];C. int (*p)[];D. int *p[10];答案:A8. 在C语言中,用于定义一个枚举类型的关键字是:A. enumB. typedefC. structD. union答案:A9. 下列哪个选项是正确的C语言文件操作函数?A. fopen()B. fclose()C. fprintf()D. All of the above答案:D10. 在C语言中,用于定义一个联合体的关键字是:A. unionB. structC. typedefD. enum答案:A二、填空题(每题2分,共20分)1. C语言中,用于定义一个浮点型变量的关键字是________。
《C语言程序设计》试卷2 答案
A、整数1B、大于0的数C、小于0的数 D、不等于0的数
C语言编译系统在表示逻辑运算结果时,以数值1代表“真”,以0代表“假”,但在判断一个量是否为“真”时,以0代表“假”,以非0代表“真”。即将一个非零数值认作为“真”。逻辑值只有2个,1和0,真和假
6、若a为整型变量,且有以下语句(D)十进制数表示范围为-32768-32767(对于无符号整数范围为0-65535).无符号八进制整数表示范围为0-0177777.无符号十六进制整数表示范围为0x0-0xffff.长整型数的取值范围一般是整型数的两倍长(32位),如对于16位计算机系统,十进制长整型的取值范围为-2147483648-2147483647.无论是十进制整数,还是八进制整数还是十六进制整数,均有长整型数.长整型数的表示方法是在原来的整数后面加一个后缀"L"(或小写字母"l").例如,489L,0756L,0XE46L分别表示十进制,八进制,十六进制长整型数..,注意:%o和%x输出时,没有负数形式如十进制-1输出%d%o%x形式值为-1,177777,ffff
************************************************
************************************************
班级:
************************************************
************************************
学号:
************************************************
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《 C 程序设计》考试试题( 120 分钟)一、单项选择题(每小题 2 分,共 60 分)1 .自定义标识符中,符合 C语言规定的是 __D___ 。
A)for B)3a C)*a D)_123 A错在哪2 . C语言程序的基本单位是 ______ 。
A)程序行 B)语句 C)函数 D)字符3 . g etche( )函数的功能是 _______ 。
A)从键盘读入一字符串 B)从键盘读入一字符C)从键盘输出一字符串 D)从键盘输出一字符4 .下面有关 for 循环的正确描述是 _______ 。
A)for循环只能用于循环次数已经确定的情况B) for循环是先执行循环语句,后判定表达式C) 在for循环中,不能用break语句跳出循环体D) for循环体语句中,可以包含多条语句,但要用花括号括起来5. 为表示关系100≥x≥10,应使用C语言表达式 __A_____ 。
A)(100>=x)&&(x>=10) B)(100>=x) AND (x>=10)C)(100>=x>=10) D)(100>=x)&(x>=10);6.定义int a; float f; double i; 表达式 15+i*f+ˊAˊ的值是 ______D_ 。
A) float B) int C) char D)double7.下列有关字符数组与字符串的说法中,正确的是 ____ 。
A)字符数组中存放的一定是一个字符串B)所有的字符数组都可以被当作字符串处理C)对存放字符串的字符数组可像一般数组一样对数组中单个元素操作D)一个字符数组可以认为就是一个字符串8 .下面程序要求从键盘上输入值并打印,请选择正确的输入方法 _____B 。
main( ){ int a,b;scanf("x=%d,y=%d",&x,&y);printf("x=%d,y=%d\n",x,y);}A)5,6 B) x=5, y=6 C)5↙6 D)5 69.为避免在嵌套的条件语句 if-else中产生二义性,C语言规定:else子句总是与 ____B___ 配对。
( A)缩排位置相同的if (B)其之前最近的if( C)其之后最近的if (D)同一行上的if10 .定义如下变量和数组:int i; int 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)1 5 9 B)1 4 7 C)3 5 7 D)3 6 911 .在定义了 int a[3][2];之后,对a的引用正确的是 __C_____ 。
A)a[3][2] B)a[3][0] C)a[0][0] D)a[0,0]12 .若要求在 if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为 ___A____ 。
A)a< >0 B)! a C)a=0 D)a13.执行以下程序段后,m的值为 ___A____ 。
int a[2][3]={{1,2,3},{4,5,6}};int m,*p; p=&a[0][0];m=(*p)+(*(p+2))+(*(p+4));A)9 B)8 C)7D)614.下列对字符串的说法中,错误的是 _______ 。
A)字符串就是一个字符数组B)字符串可以整体输入输出C)字符串可以比较大小D)存储字符串所需的内存空间等于字符串的长度15.若有以下定义和语句,则输出结果是 _______ 。
char s1= " 12345 " , s2=" 1234 "printf("%d\n",strlen(strcpy(s1,s2)));A)4 B)5 C)9 D)1016.有一函数关系见下表:x y=x<0 x-1x=0 xx>0 x+1下面程序中能正确表示上面关系的是 _______ 。
( A)y=x+1; (B)y=x-1;if(x>=0) if(x!=0)if(x==0) y=x; if(x>0) y=x+1;else y=x-1; else y=x;( C)if(x<=0) (D)y=x;if(x<0) y=x-1; if(x<=0)else y=x; if(x<0) y=x-1;else y=x+1; else y=x+1;17.以下正确的程序段是 _______ 。
A)char str[2]; B)char *p;scanf("%s",&str); scanf("%s",p);C)char str[20]; D)char str[20],*p=str;scnaf("%s",&str[2]); scanf("%s",p[2]);18.以下正确的函数定义形式是 _______ 。
A)double fun(int x,int y)B)double fun(int x;int y)C)double fun(int x,int y);D)double fun(int x,y);19.以下有关宏替换不正确的是 _______ 。
A)宏替换不占用运行时间 B)宏名无类型C)宏替换只是字符替换 D)宏名必须用大写字母表示20.有如下语句 int a=10,b=20,*p1,*p2;p1=&a;p2=&b;如图1所示。
若要实现图2所示的存储结构,可选用的赋值语句是 _______ 。
A)*p1=*p2; B)p1=p2; C)p1=*p2; D)*p1=p2;21.设char *s="\ta\018bc";则指针变量s指向的字符串所占的字节数是_______ 。
A)9 B)5 C)6 D)722.以下程序的输出结果是 _______ 。
#include<stdio.h>#include<string.h>main( ){ char *s1= " AbCbEf " ,*s2= " AB " ;s1++;s2++;printf( " %d\n " ,strcmp(s1,s2));}A)正数 B)负数 C)零 D)不确定的值23. fread(buf,64,2,fp)的功能是 _______ 。
A)从fp文件流中读出整数64,并存放在buf中B)从fp文件流中读出整数64和2,并存放在buf中C)从fp文件流中读出64个字节的字符,并存放在buf中D)从fp文件流中读出2个64个字节的字符,并存放在buf中24.以下一维数组a的正确定义是 _______ 。
A)int a(10); B)int n=10,a[n];C)int n; D)#define SIZE 10scanf( " %d ",&n); int a[SIZE];int a[n];25. 若有定义: int a[2][3];则对a数组中第i行第j列元素地址的正确引用为_______ 。
A)*(a[i]+j) B)(a+i) C)*(a+j) D)a[i]+j26.以下程序段的输出结果是 _______ 。
main(){ int n[3],i,j,k;for(i=0;i<3;i++)n[i]=0;k=2;for(i=0;i<k;i++)for(j=0;j<k;j++)n[j]=n[i]+1;printf( " %d\n ",n[1]);}A) 2 B) 1 C) 0 D) 327.以下程序输出的结果是 _______ 。
int d=1;fun(int p){ int d=5;d+=p++; printf( " %d ",d);}main( ){ int a=3;fun(a);d+=a++;printf(" %d\n ",d);}A)8 4 B)9 6 C)9 4 D)8 528.下列各组变量中,不可作为函数参数的是 _______ 。
A)指向结构体变量的指针变量;B)数组名或指向数组的指针变量;C)指向函数的指针变量;D)共用体变量;29.若有以下说明和语句: struct student{ int number; char *name;}stu1,*p=&stu1;则以下引用方式不正确的是 _______ 和 _______ 。
A)stu1->number B)(*p).number C) p->numberD)stu1.number E)*p.number30.下列变量中,哪类变量的生存期和作用域是不一致的 _______ 。
A)自动变量 B)定义在文件最前面的全局变量C)局部静态变量D)寄存器变量二、填空题(每小题 2 分,共 20 分)•1.C程序是由 _______ 构成的,其编译是以 _______ 为单位进行的。
2.设 a为int型变量,请写出描述"a是奇数"的表达式 _______3.若数组a有m列,则a[i][j]之前的数组元素个数为 _______ 。
4.请读程序片段:char str[]="english",*p=str;printf("%s\n",*(p+3));上面程序片段的输出结果是 _______ 。
5.执行下面的程序段后,k值为 _______ 。
k=1;n=263;do{k*=n%10; n/=10;} while(n);6. 变量的作用域是指变量的有效范围。
按作用域变量可分为 _______ 变量和 _______ 变量两大类。
7.设有程序片段:switch(ch ){ case ˊAˊ: printf("85-100\n");case ˊBˊ: printf("70-84\n");case ˊCˊ: printf("60-69\n");case ˊDˊ: printf("<60\n");default : printf("error!\n");}若ch的值为ˊDˊ,则输出结果是 _______ 。
8.下面程序的功能是在三个字符串中找出最小的,请填空:#include<stdio.h>#include<string.h>main( ){ char s[20],str[3][20]; int i;for(i=0;i<3;i++) gets(str[i]);strcpy(s, ____________________________ );if(strcmp(str[2],s)<0) strcpy(s,str[2]);printf("%s\n", _______ );}9 .写出下列两种指针的定义:指针 p1为指向整型数据的指针 ______________ ;p2为指向字符串"I am a student"的指针 ______________ 。