C++语言程序设计基础考试卷.doc
- 格式:doc
- 大小:80.00 KB
- 文档页数:10
《C语言程序设计基础》--试卷A及参考答案《c语言程序设计基础》试卷 (A卷)考试时间:90分钟闭卷任课老师:班级:学号:成绩:(每小题2分,共30分)、由C++源文件编译生成的目标文件的缺省)A、cppB、exeC、obj 、lik、下列中,不是C++合法的标识符()A、2mnB、m123C、kk 、a_1、C++中,基本数据类型不包括()、int B、float C、char 、class、x和y均为bool量,则x| |y为真的条件)、它们均为真 B、其中一个为真 C、《C语言程序设计基础》第 2 页共 6 页它们均为假 D、其中一个为假5、C++中,一个字符型数据在内存中占()字节。
A、4B、2C、1D、86、字符串常量”hello”的长度是()A、5B、6C、7D、87、以下语句,int i=2,j=2,m,n;m=i++;n=++j;则m,n,i,j的值分别为()A、2,3,2,2B、2,3,3,3C、2,2,3,3 D、3,3,2,28、假定a为一个整型数组名,则元素a[4]的字节地址为()A、a+4B、a+8C、a+16D、a+329、 x>0 || y==5的相反表达式为()。
A、 x<=0 || y!=5B、 x<=0 && y!=5C、 x>0 || y!=5D、 x>0 && y==5《C语言程序设计基础》第 3 页共 6 页10、在下面的函数声明中,存在着语法错误的是()A、void BC(int a , int)B、void BD(int , int)C、void BE(int , int=5)D、int BF(int x ; int y)11、循环体至少被执行一次的语句为()。
A、for循环B、while循环C、do循环 D、任一种循环12、已知一函数中有下列变量定义,其中属于静态变量的是()A、int a=5;B、staticdouble b;C、register char c;D、auto shortd;13、do语句能够改写为()语句。
(完整版)C语言考试试题基础版一、选择题1. 在每个C 程序中都必须包含有这样一个函数,该函数的函数名为。
A. mainB. MAINC. nameD. function2. 在以下关于C 语言的注释的叙述中,不正确的是。
A .注释可用"/*"、"*/"形式表示,也可用"//"形式表示B .编译器在编译一个程序时,将跳过注释,不对其进行处理C .编译器在编译一个程序时,可发现注释中的单词拼写错误D .程序中注释的多少不会影响所生成的可执行文件的长度3. 以下叙述不正确的是。
A .在C 程序中,严格区分大小写字母B .一个C 源程序有且仅有一个main 函数C .在C 程序中,注释只能位于一条语句的后面D .一个C 程序总是从main 函数开始执行4. 下列合法的标识符为A. abde+B. #KDJFC. 67KDJD. DK3_5. 关于字符串和字符的关系正确的是A. “A ”与’A ’是相同的B. 字符串是常量,字符是变量C. “A ”与’A ’是不同的D. “A ”与“A ”是相同的6. 下面关于语句的说法正确的是A. 下面这两段程序的执行效果是一致的B. 空语句是只有一个分号的语句,它其实什么也不干C. 语句的构成不一定需要分号D. 语句的书写对程序的运行不起作用,因此可以随便写都可以7. 以下各标识符中,合法的用户标识符组为。
A. PAd ,P#d ,b-b ,abc ,_0123,ssipedB. cin ,a10,CPP ,float ,del_word ,signedC. void ,max ,hiy ,,list ,*jerif (x>y){z=x; s=z*z;}else{z=y;s=1/(z*z);}if (x>y) z=x; s=z*z; else z=y;s=1/(z*z);D.a,temp,_isw,INT,keep,wind8.字符串“\”E OF= -\61\””的长度是。
《程序设计基础》考试试卷四班级姓名学号一、选择题(每题1分,共20分)题号一二三四五总得分评卷人审核人得分1.以下叙述中正确的是( )A. C程序中注释部分可以出现在程序中任意合适的地方B. 花括号"{"和"}"只能作为函数体的定界符C. 构成C程序的基本单位是函数,所有函数名都可以由用户命名D. 分号是C语句之间的分隔符,不是语句的一部分2.判断下面标识符中哪个是C语言中合法的用户定义标识符()A. 2a1bB. a%bdC. _123D. char3.设有以下定义int a=0; double b=1.25; char c=’A’; #define M 2则下面语句中错误的是( )A. a--;B. b--;C. c--;D. M--;4.有两条语句:static char x[]=”abcde”;static char y[]={‘a’,’b’,’c’,’d’,’e’};则下列说法中正确的是( )A. 数组x和数组y长度相同B.数组x长度大于数组y长度C. 数组x长度小于数组y长度D. 以上三种说法均错误;5.设整型变量a=13,则经运算a+= a/=a%=5后,a的值为()A. 17.333B. 17C. 0D. 26. 已知:int n,i=1,j=2;执行语句n=i<j?i++:++j;后,i和j的值是( ).A. 1,2B. 1,3C. 2,2D. 2,37.有函数定义如下:当自变量x<0时y=-1;当x=0时y=0;当x>0时y=1;以下程序片段能实现该函数功能的是( ):A. if(x>=0)B. y=-1;C. if(x>=0)D. y=0;if(x>0) y=1; if(x!=0) if(x>0) y=1; if(x>=0) else y=-1; if(x>0) y=1 ; else y=0; if(x>0) y=1;else y= 0; else y=0; else y= -1; else y=-1;8.当a=2,b=1,c=3,d=4,m和n值为1时,(m=a>b)||(n=c>d)的值是( )A. TRUEB. FALSEC. 1D.09.在C语言程序中,以下说法正确的是( )A. main函数内部可嵌套定义子函数B. main函数必须出现在所有函数之前C. main函数必须出现在所有函数之后D. main函数是程序执行的入口10.关于局部变量和全局变量说法正确的是():A. 在main函数中定义的变量都为全局变量B. 当全局变量与局部变量同名时,全局变量起作用C. 当全局变量与局部变量同名时,局部变量起作用D. 以上说法都不正确11.下列关于switch和break语句的讨论中,只有()是正确的。
国家二级C语言机试(程序设计基础、C语言概述)-试卷1(总分:68.00,做题时间:90分钟)一、选择题(总题数:34,分数:68.00)1.结构化程序设计的基本原则不包括()。
(分数:2.00)A.多态性√B.自顶向下C.模块化D.逐步求精解析:解析:结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用goto语句,所以选择A。
2.在面向对象方法中,不属于"对象"基本特点的是()。
(分数:2.00)A.一致性√B.分类性C.多态性D.标识唯一性解析:解析:对象有如下一些基本特点:标识唯一性、分类性、多态性、封装性、模块独立性好。
所以选择A)。
3.面向对象方法中,继承是指()。
(分数:2.00)A.一组对象所具有的相似性质B.一个对象具有另一个对象的性质C.各对象之间的共同性质D.类之间共享属性和操作的机制√解析:解析:继承是面向对象的方法的一个主要特征,是使用已有的类的定义作为基础建立新类的定义技术。
广义的说,继承是指能够直接获得已有的性质和特征,而不必重复定义它们,所以说继承是指类之间共享属性和操作的机制。
4.结构化程序所要求的基本结构不包括()。
(分数:2.00)A.顺序结构B.GOTO跳转√C.选择(分支)结构D.重复(循环)结构解析:解析:1966年Boehm和Jacopini证明了程序设计语言仅仅使用顺序、选择和重复三种基本控制结构就足以表达出各种其他形式结构的程序设计方法。
5.定义无符号整数类为UInt,下面可以作为类UInt实例化值的是()。
(分数:2.00)A.-369B.369 √C.0.369D.整数集合{1,2,3,4,5}解析:解析:只有B)选项369可以用无符号整数来表示和存储。
A)选项-369有负号,选项C)0.369是小数都不能用无符号整数类存储。
选项D)是一个整数集合得用数组来存储。
6.下列选项中不属于结构化程序设计原则的是()。
(分数:2.00)A.可封装√B.自顶向下C.模块化D.逐步求精解析:解析:结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用goto语句,所以选择A。
C语言程序设计试卷及答案(总14页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--2C 语言程序设计 笔试试题题号 一 二 三 四 五 六 笔试(70%) 综合 (30%) 总分分数试卷说明:1. 笔试卷面总分100分,取卷面成绩的70%计入总分;2. 综合成绩为平时成绩(10%)和实验成绩(20%)之和,占总分的30%;3. 答题时禁止拆开试卷钉,试卷背面即为草稿纸;4. 答题时间120分钟。
一、单项选择题。
将正确答案填入下面框中。
(本题16分,每小题1分) 题号 1 2 3 4 5 6 7 8 答案 题号 9 10 11 12 13 14 15 16 答案1. 有以下程序 main() {int a=1,b=0; if(!a) b++;else if(a==0) if(a) b+=2; else b+=3;printf(“%d\n ”,b); }则程序输出( A )。
A) 0B) 1C) 2D) 32. 有以下定义:int a; long b; double x,y;则下列正确的是( A )。
A) a%(int)(x-y)B) a=x!=y C) (a*y)%b D) y=x+y=x号学名姓注意行为规范 遵守考试纪律3. 若有定义 int (*p)[3];则下列说法正确的是( C )。
A) 定义了基类型为int的三个指针变量B) 定义了一个名为 *pt、具有三个元素的整型数值C) 定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组D) 定义了基类型为int的具有三个元素的整型数组4. 有以下程序段main(){ int x=10;while(x--);printf("x=%d\n",x);}则最后的输出结果是:( B )。
A) x=0 B) x= -1 C) x=1 D)while构成无限循环5. 有以下程序:int fun(){static int x=1;x *= 2;return x;}main( ){ int i,s=1 ;for(i=1 ;i<=2 ;i++) s=fun() ;printf(“%d\n ”,s) ;}执行后的输出结果为( D )。
c语言程序设计基础试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项是C语言中的合法整数?A. 0x10B. 0X1GC. 08D. 0L答案:A3. 在C语言中,用于定义一个函数的关键字是?A. defineB. functionC. defD. void答案:B4. C语言中,以下哪个是正确的字符串定义?A. char str[] = "Hello";B. char str[] = {"Hello"};C. char str = "Hello";D. char str[] = 'Hello';答案:A5. 在C语言中,以下哪个运算符用于求余?A. %B. /C. //D. %答案:A二、填空题(每题3分,共15分)1. 在C语言中,定义一个整型变量的关键字是________。
答案:int2. 如果一个函数没有返回值,应该使用________关键字声明。
答案:void3. 在C语言中,________运算符用于连接字符串。
答案:+4. C语言中,________运算符用于比较两个值是否相等。
答案:==5. 在C语言中,________关键字用于定义一个指针变量。
答案:*三、简答题(每题5分,共20分)1. 简述C语言中数组和指针的关系。
答案:在C语言中,数组名可以被当作指向数组第一个元素的指针。
数组的每个元素可以通过指针运算来访问。
2. 解释C语言中函数原型声明的作用。
答案:函数原型声明提供了函数的名称、返回类型和参数类型,但不需要函数体。
它允许在函数定义之前调用函数,同时帮助编译器检查函数调用的正确性。
3. 什么是C语言中的预处理指令,举例说明。
答案:预处理指令是C语言中的特殊命令,用于在编译之前处理源代码。
C 语言程序设计 笔试试题题号 一 二 三 四 五 六 笔试(70%)综合 (30%)总分分数试卷说明:1. 笔试卷面总分100分,取卷面成绩的70%计入总分;2. 综合成绩为平时成绩(10%)和实验成绩(20%)之和,占总分的30%;3. 答题时禁止拆开试卷钉,试卷背面即为草稿纸;4. 答题时间120分钟。
一、单项选择题。
将正确答案填入下面框中。
(本题16分,每小题1分) 题号 1 2 3 4 5 6 7 8 答案 题号 9 10 11 12 13 14 15 16 答案1. 有以下程序 main() {int a=1,b=0; if(!a) b++;else if(a==0) if(a) b+=2; else b+=3;printf(“%d\n ”,b); }则程序输出( A )。
A) 0B) 1C) 2D) 32. 有以下定义:int a; long b; double x,y;则下列正确的是( A )。
A) a%(int)(x-y) B) a=x!=yC) (a*y)%b D) y=x+y=x3. 若有定义 int (*p)[3];则下列说法正确的是( C )。
号学名姓注意行为规范 遵守考试纪律A) 定义了基类型为int的三个指针变量B) 定义了一个名为*pt、具有三个元素的整型数值C) 定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组D) 定义了基类型为int的具有三个元素的整型数组4. 有以下程序段main(){ int x=10;while(x--);printf("x=%d\n",x);}则最后的输出结果是:( B)。
A) x=0 B) x= -1 C) x=1 D)while构成无限循环5. 有以下程序:int fun(){static int x=1;x *= 2;return x;}main( ){ int i,s=1 ;for(i=1 ;i<=2 ;i++) s=fun() ;printf(“%d\n ”,s) ;}执行后的输出结果为( D)。
《程序设计基础》考试试卷一班级姓名学号____________一、选择题(20分)1.算法具有五个特性,以下选项中不属于算法特性的是(A)有穷性(B)简洁性(C)可行性(D)确定性2.以下选项中可作为C语言合法常量的是(A)-80. (B)-080 (C) (D)3.以下叙述中正确的是(A)用C语言实现的算法必须要有输入和输出操作(B)用C语言实现的算法可以没有输出但必须要有输入(C)用C程序实现的算法可以没有输入但必须要有输出(D)用C程序实现的算法可以既没有输入也没有输出4.以下不能定义为用户标识符是(A)Main (B) _0 (C) _int (D) sizeof5.以下选项中,不能作为合法常量的是(A) (B) (C)+4 (D)6.数字字符0的ASCII值为48,若有以下程序main(){char a='1',b='2';printf("%c,",b++);printf("%d\n",b-a);} 程序运行后的输出结果是(A)3,2 (B)50,2 (C)2,2 (D)2,507.有以下程序main(){int m=12,n=34;printf("%d%d",m++,++n); printf("%d%d\n",n++,++m);}程序运行后的输出结果是(A) (B) (C) (D)8.有以下语句:int b;char c[10];,则正确的输入语句是A)scanf("%d%s",&b,&c); B) scanf("%d%s",&b,c);(C)scanf("%d%s",b,c); D)scanf("%d%s",b,&c);9.有以下程序main(){int m,n,p;scanf("m=%dn=%dp=%d",&m,&n,&p);printf("%d%d%d\n",m,n,p); } 若想从键盘上输入数据,使变量M中的值为123,N中的值为456,P中的值为789,则正确的输入是A)m=123n=456p=789 B)m=123 n=456 p=789 C)m=123,n=456,p=789 D)123 456 78910.有以下程序main(){int a,b,d=25;a=d/10%9;b=a&&(-1);printf("%d,%d\n",a,b); }程序运行后的输出结果是A)6,1 B)2,1 C)6,0 D)2,011.有以下程序main(){int i=1,j=2,k=3;if(i++==1&&(++j==3||k++==3))printf("%d %d %d\n",i,j,k);}程序运行后的输出结果是(A)1 2 3 (B)2 3 4 (C)2 2 3 (D)2 3 312.若整型变量a、b、c、d中的值依次为:1、4、3、2。
c程序设计考试试题C程序设计考试试题一、选择题(每题2分,共20分)1. 在C语言中,以下哪个是合法的变量名?A. 2variableB. variable-nameC. variable_nameD. variable-name22. 下列哪个选项不是C语言的基本数据类型?A. intB. floatC. stringD. double3. 以下哪段代码可以正确地声明一个整型数组?A. int array[10] = {0, 0, ...};B. int array[] = {0, 1, 2, ...};C. int array[10] = {1};D. int array = {1, 2, 3};4. C语言中,以下哪个关键字用于定义函数?A. ifB. whileC. functionD. void5. 在C语言中,以下哪个语句用于结束程序的执行?A. break;B. continue;C. return;D. exit;6. 以下哪个选项是C语言中的正确注释方式?A. /* This is a comment */B. // This is a commentC. /*/ This is a comment */D. //* This is a comment */7. 以下哪个选项是C语言中的逻辑运算符?A. &&B. ||C. <=D. =8. 在C语言中,以下哪个选项是正确的字符串定义方式?A. char str[] = "Hello";B. string str = "Hello";C. char str = "Hello";D. string str[] = "Hello";9. 以下哪个选项是C语言中的条件语句?A. switchB. caseC. if-elseD. for10. 在C语言中,以下哪个函数用于计算两个数的和?A. pow()B. sqrt()C. sum()D. printf()二、简答题(每题5分,共10分)1. 解释C语言中的指针是什么,并给出一个简单的示例。
1. 在面向对象的程序设计C++中, 当用cin> cout输入、输出时程序头部要()2.3.A、#include<stdio. h>C、#include<stdlib. h>类的概念是()A、对象的抽象。
C、同一类数据的集合。
C++源程序文件的扩展名为A、. CPPB、D、B、D、# i nc1ude< i ostream. h>#include<string. h>同一类记录的集合。
所有对象的集合。
C、.DLLD、.EXE 有二维字符数组char s[4] [6] = ( "zhang” , " gao","4.cout«*s [2],屏幕上显示A、gaoB、tang 编译程序的功能是()tang” , ” wang” },执行程C、gD、考试试卷2007 — 2008学年2学期时间ioo分钟C++语言程序设计基础课程64学时3学分考试形式:闭卷专业年级:总分100分,占总评成绩追%注:此页不作答题纸,请将答案写在答题纸上一、单选题(本题24分,每小题1分)A、将汇编语言程序转换为目标程序B、将汇编语言程序转换为高级语言程序C、将高级语言程序转换为目标程序D、将高级语言程序转换为汇编语言程序6,下面的函数声明中,哪一个是” void BC(int a, int b); ”的重载函数?()A、int BC(int a, int b) void BC(int a, char b)C^ float BC(int a, int b, int c = 0)D、void BC(int a, int b=0)7.设&和b为整型变量,执行语句比(a=2+3,&*4),a+5;后a和b的值为A、5, 10B、20, 25C、5, 25D、5, 208.如果a=l, b=2, c=3, d=4,则条件表达式“a>b?a:c〈d?c:d ” 的值为()A、3B、 2C、 1D、 49.在int a[][3] = {{l}, {3,2}, {4,5,6}, {0}}中,a[2] [2]的值是()A、3B、2C、6D、410.已知char c; char * const pc= " asdf ",()是正确的。
A、pc= " dfgh ”B、*pc='b'C^ *pc++=D、pc=&cll.int i=10;执行下列语句后,i的值是oswitch(i){case 9: i+=l;case 10: i+=l;case 11: i+=l;case 12: i+=l;)A、10B、11C、12D、1312.对于int *pa[5]的描述,()是正确的。
A、pa是一个指向数组的指针,所指向的数组是5个int型元素B、pa是一个指向某数组中的第5个元素的指针,该元素是int型变量C、pa[5]表示某个数组的第5个元素的值D、pa是一个具有5个元素的指针数组,每个元素是一个int型指针13.设有类型说明:enum color (red, yellow=3, white, black};则执行语cout«white«, \n";后输出的结果是。
A、 4B、 3C、 2D、 114.执行下列语句后的输出结果是()。
int hot=100;int &rad=hot;hot+=100;cout«rad«endl;A、0B、100C、200D、30015.下列对结构及其变量定义错误的是:()A^ struct MyStruct( B> struct MyStruct{int num;char ch;}my;D、struct(int num;char ch;};struct my;C、0D、一个空行D 、在一定条件下, 两个指针可以相互赋位mt num;char ch;);MyStruct my;C 、struct{int num;char ch;}my;16.执行以下程序:#include<iostreame h>void main(void)(char c=0; cout«c«'输出的结果是。
A、'\0'B、语法错17.下列关于指针运算的描述错误的是:()A、在一定条件下,两个指针可以相加B、在一定条件下,两个指针可以进行关系运算C、在一定条件下,指针可以为空18.在C++语言中,对函数参数默认值描述正确的是:()A、函数参数的默认值只能设定一个B、一个函数的参数若有多个,则参数默认值的设定可以不连续C、函数参数必须设定默认值D、在设定了参数的默认值后,该参数后面定义的所有参数都必须设定默认值19.关于函数的所有缺省参数的叙述正确:A、只能出现在参数表的最左边B、只能出现在参数表的最右边C、必须用非缺省的参数隔开D、都不对20.不能作为函数重载判断依据的是:()A、参数个数B、参数类型C、函数名字D、返I口|类型21.以下程序的输出结果是:()#inc hide <iostream. h>void prt (int *x, int *y, int *z)(cout«++*x«〃,〃«++*y«", 〃«*z++«endl;int a=10, c=20, b=40;void main() {prt (&a, &b, &c); prt (&a, &b, &c);}A、11,42,31B、11,41,20C、11,21,40D、11,41,2112,21,41 12,42,20 11,21,41 12,42,2222.以下程序的输出结果是:()#inc]ude <iostream. h>void func(char **m){++田;cout«*m«endl;}void main() {static char *a□={"morning", "afternoon”, "evening"};char **p;P=a;func(p);}A、字符。
的起始地址B、字符a的起始地址C^ 字符o D^ afernoon23.以下程序的输出结果是:()#include <iostream. h> int fun(char *s)( char *p=s;while (*p!='\0‘) p++;return (p-s);}void main() ( cout<<fun(〃abc〃)<<endl;}A、0B、 1C、 2D、 324.在一个函数中,要求通过函数来实现一种不太殳杂的功能,并且要求加快执行速度,选用合适。
A、内嵌函数B、重载函数C、逆归调用D、嵌套调用二、填空题(本题22分,每空2分)1.在c语言中,编程的单位是;在C++语言中,编程的单位是。
2.对类中的成员函数和属性的访问是通过Public^ Private和protected_这3个关键字来控制的。
3.-般情况下,按照面向对象的要求,把类中的数据成员(属性)定义为—私有_权限,而把成员函数(方法)定义为Public权限。
4.在类定义中,数据和成员函数默认权限是—私有o5.类中的构造函数是一个特殊的成员函数,它山类的对象new调用,它的作用是初始化6.在定义类的对象时,C++程序将自动调用该对象的—构造函数—函数初始化对象自身。
7.在撤销类的对象时,C++程序将自动调用该对象的—析构函数—函数。
8.非成员函数应声明为类的—友兀函数才能访问这个类的private成员。
9.在下面程序的横线处填上适当的语句,使该程序执行结果为10。
#include <iostream.h>class MyClass{public:__________________ 〃为X置值int GetNum()(return x;); 〃取x 值private:int x;);void main()(MyClass my(10);cout« my.GetNum() « endl;)三、阅读程序,严格按输出顺序与格式写出程序运行结果(本题30分,每小题6分)1.下列程序的输出结果是—⑴O#define MUL(x,y) x*y#include<iostream. h>void main(void){int x二4, y二6;cout<<MUL(x+l, y-3)<<,\n ;}2.下面函数的功能是一(2) o sss (char* s,char* t){while((*s)&&(*t)&&(*t++==*s++));return;}#include<iostream. h>int c=T;void f (int* a, int b) ( static int c=2;(*a)++;C一一cout<<*a<<J \t' <<b«,\t' <<c<<endl;}void main(void)I tint i;for(i=0;i<=l;i++)f (&i, c);cout<</,c=,/«c«endl;}程序执行后输出的第一行是(4):输出的最后一行是—(5)o4.[程序]下面程序的输出结果是⑹。
#include<iostream. h>int funa(int a, int b){return(a + b);}int funb(int a, int b){return(a - b);}int sub (int (*f) (int , int), int x, int y) (return ((*f) (x, y));}void main(void)(int x, (*p) (int, int);p=funb;x=sub (funa, 8, 3);x+=sub(p, 9, 3);cout«,/x=/,«x<<,\n';}下面程序的输出结果是(7) 。
#include<iostream. h>int aa[3] [3] = ({2}, {4}, {6}};void main(void)int i, *p=&aa[O][0];for(i=0;i<2;i++){if(i= =0)aa[i][i+l]=*p+l;else++p;)cout«*p«endl;}四、程序填空(注意每个空栏只能填写1条简单语句或表达式。