大连理工大学C语言期中测试模拟题2

合集下载

大连理工大学c++期中试卷-有答案

大连理工大学c++期中试卷-有答案

大 连 理 工 大 学课 程 名 称:面向对象方法与C++程序设计 试 卷: 统一 是否开卷 否 授课院 (系): 软件学院 考试日期: 09 年 4 月 日 试卷共8 页一 、选择题(10分, 每题2分) 1.一个C++类________________。

A . 只能有一个构造函数和一个析构函数B . 可以有一个构造函数和多个析构函数C . 可以有多个构造函数和一个析构函数D . 可以有多个构造函数和多个析构函数2.下列静态数据成员的特性中,_____是错误的。

A . 声明静态数据成员时,前边要加修饰符static B . 静态数据成员要在类体外进行初始化 C . 静态数据成员不是所有对象所共用的D . 引用静态数据成员时,要在其名称前加<类名>和作用域运算符3.若类X 是类Y 的友元类,则下列哪种访问关系是正确的 __ ___。

A . 类X 的成员不能访问类Y 的私有成员 B . 类X 的成员可以访问类Y 的私有成员 C . 类Y 的成员可以访问类X 的私有成员D . 只有类Y 的公共成员才能访问类X 的私有成员4.下面关于C++中类的继承与派生的说法错误的是_____________。

A . 基类的protected 成员在公有派生类的成员函数中可以直接使用 B . 基类的protected 成员在私有派生类的成员函数中可以直接使用 C . 私有派生时,基类的所有成员访问权限在派生类中保持不变 D . 继承可以分为单一继承与多重继承5.对const 与类,理解不正确的为__________。

A .可以用const 限制对象、数据成员或成员函数B .常成员函数不能修改对象的数据成员,但能调用该类中非常成员函数C .const 数据成员只能由构造函数通过初始化列表对其进行初始化D .const 对象只能调用它的const 成员函数,而不能调用非常成员函数二、写出下面程序的运行结果。

大连理工大学c语言题库(共12套)

大连理工大学c语言题库(共12套)
D、形参应与其对应的实参类型一致
14.下列形式,不属于编译预处理命令的是( ).
A、#ifdef M
B、#undef M
C、#if (M>1)
D、while (M>1)
15.下面判断正确的是()。
A、char c[4]="abc",d[4]="abc";等价于char c[4]=d[4]="abc";
5.continue语句对于while和do-while循环来说,意味着转去计算While表达式.
6.在do-while循环中,根据情况可以省略while.
7.对于字符数为n个的字符串,其占用的内存为n+1个字节空间.
8.puts函数用来输出一个字符.
9.引用数组元素时,下标可以是整型表达式或整型常量.
{ int x;
int y;
} v2;
则( )是正确的引用或定义.
A、example.x=10;
B、struct v2;v2.x=10;
C、example v2;v2.x=10;
D、struct example v2={10,3};
17.若fp已正确定义并指向某个文件,当未遇到该文件结束标志时函数
feof(fp)的值为()。
D、char *a[3];
10.下面叙述中不正确的是( ).
A、可以对字符型数组进行整体输入和输出.
B、不可以对浮点型数组进行整体输入和输出.
C、可以对整型数组进行整体输入和输出.
D、字符型数组可以存放字符串.
11.函数定义时的参数为形参,调用函数时所用的参数为实参,则下列描述正确的是( ).
A、实参与形参是双向传递
3.下面程序的正确输出结果是( ).(规定用U表示空格)

C语言期中试卷(含答案)

C语言期中试卷(含答案)

《 C语言》课程期中考试试卷一. 在A B C D四个选项中,选择一个正确的答案填入括号内( )1、用char定义的变量在IBM PC机中能表示的数的范围是:A) 0 ~+255 B) 0 ~+65535C) -128 ~+127 D) 只能存字符,不能存数( )2、设有int k=2; 则执行printf(“%d”,k++);的输出为:A) 0 B) 1 C) 2 D) 3()3、在while(!x)中,!x与______等价。

A) x==0 B) x!=0 C) x==1 D) x!=1()4、设有声明int value=‟5‟;,则执行下列选项的赋值语句后,value的值不等于5的是_____。

A.) value=value - ‟0‟; B) value=value - 0x30;C) value=value - 49; D) value=value - ‟\060‟;()5、如int k=7;float x=2.5,y=4.7; 则表达式 x+k%3*(int)(x+y)%2/4 运算后的值是:A) 0 B) 2 C) 2.5 D) 2.75( ) 6、若有int a,b;则语句:printf("%d",(a=2)&&(b=-2);的输出结果是:A)无输出 B)结果不确定 C)-1 D)1( ) 7、设有int a=2; 则执行printf("%d",5>a>1);的输出为:A)0 B)1 C)2 D)3( ) 8、执行语句c=(a=2,a+1,b=a++);后, a,b,c的值依次为:A)2,3,4 B)3,3,3 C)4,5,4 D)3,2,2( )9、以下程序的输出结果是A)2 0 B)3 1 C)3 2 1 D)2 1 0main( ){ int n=4;while(n--)printf("%d ",--n);}( )10、给出以下定义:char x[ ]="abcdef";char y[ ]={'a','b','c','d','e','f'};则正确的叙述为A) 数组x和数组y等价 B) 数组x和数组y的长度相同C) 数组x的长度大于数组y的长度 D) 数组x的长度小于数组y的长度( )11、若对一个函数调用在前, 定义在后,C语言将视其返回值为__________类型。

(完整word版)大连理工大学C语言题库(12套)

(完整word版)大连理工大学C语言题库(12套)

【第一套】一、单项选择1.下列数据中,为字符串常量的是(D)。

A、'A’B、How do you do.C、$abcD、”house"2.以下所列的C语言常量中,错误的是(b )。

A、0xFFB、1。

2e0。

5C、2LD、'\72’3.以下程序的输出结果是(D)。

main(){float x=3。

6;int i;i=(int)x;printf(”x=%f,i=%d\n”,x,i);}A、x=3.600000,i=4B、x=3 i=3.600000C、x=3,i=3D、x=3.600000,i=34.若k是整型,则以下程序段的执行结果是:(B ) k=—3;if(k<=0)printf("####”);else printf(”&&&&”);A、####B、有语法错误,无结果C、&&&&D、####&&&&5.若x=2,y=3则x||y的结果是(C )。

A、3B、0C、1D、26.针对下列程序段回答问题(B )。

for(t=1;t〈=100;t++){scanf(”%d”,&x);if(x<0)continue;printf(”%3d”,t);}A、x>=0时什么也不输出B、最多允许输出100个非负整数C、printf函数永远也不执行D、当x<0时整个循环结束7.以下程序的执行结果是(B ).main(){int num = 0;while(num 〈= 2 ){ num++;printf(”%d,”,num ); }}A、0,1,2B、1,2,3,C、1,2,3,4,D、1,2,8.选择正确的输入语句(d )。

:(其中:char string[20];)使得string的内容为”I am student"。

A、scanf("%s”, string);B、scanf("%c”, &string);C、scanf(”%s”, &string);D、gets(string);9.对以下说明语句int a[10]={6,7,8,9,10};的正确理解是(B).A、将5个初值依次赋给a[6]至a[10]B、将5个初值依次赋给a[0]至a[4]C、因为数组长度与初值的个数不相同,所以此语句不正确D、将5个初值依次赋给a[1]至a[5]10.以下标识符中可以作为用户函数名的是( d )。

大连理工大学c语言题库

大连理工大学c语言题库

1.以下不符合C语言语法的赋值语句是()。

A、j=j=5;B、k=2*4,k*4;C、j++;D、y=float(j);2.以下运算符中,优先级最高的运算符是()。

A、?:B、,C、&&D、++3.根据下面的程序,正确的输出形式是( );main(){int i=5,j=10;printf ("i=%d,", i);printf ("j=%d ", j);}4. int a=1,b=2,c=3; if(a>c)b=a;a=c;c=b;则c的值为()。

A、1B、3C、2D、不一定5.在以下一组运算符中,优先级最高的运算符是:( )A、=B、&&C、<=D、%6.执行语句 for(i=1;i++<4;); 后变量 i 的值是()。

A、3B、5C、4D、不定7.若i为整型变量,则以下循环执行次数是()。

for(i=2;i==0;) printf("%d",i--);A、0次B、2次C、无限次D、1次8.下列数组说明中,正确的是()。

A、char str1[],str2[];str2={"China"}; strcpy(str1,str2);B、char str[]="China";C、char str[]; str="China";D、char str1[5],str2[]={"China"}; str1=str2;9.设有数组定义: char array [ ]="China"; 则数组 array所占的空间为()。

A、7个字节B、6个字节C、5个字节D、4个字节10.以下能对二维数组a进行正确初始化的语句是()。

A、int a[][3]={{1,2,3},{4,5,6}};B、int a[2][4]={{1,2,3},{4,5},{6}};C、int a[2][]={{1,0,1},{5,2,3}};D、int a[][3]={{1,0,1}{},{1,1}};11.用户定义的函数不可以调用的函数是()。

大连理工大学c语言题库2

大连理工大学c语言题库2

1. C语言中运算对象必须是整型的运算符是()。

A、=B、%=C、〈=D、/2.下列字符序列中,不可用作C语言标识符的是()。

A、b70B、a_1C、#abD、symbol3.下列程序的输出结果是()。

main(){int a=011;printf("%d\n",++a);}A、11B、9C、12D、104.逻辑表达式5>3&&2||8<4-!0的值为:( )A、3B、2C、1D、05.下列选项中,合法的C语言关键字是()。

A、integerB、defaultC、VARD、cher6.下列程序的输出为()。

main(){ int y=10;while(y--);printf("y=%d\n",y);}A、y=-1B、y=0C、y=1D、while构成无限循环7.以下表述中正确的是( ).A、在do-while循环中,while表达式的值不能为"假"B、do-while循环中,while语句不能省略C、do-while循环中,while(表达式)后面不能加分号D、除了for循环,其他循环中都不能使用复合语句8.以下不能正确定义二维数组的选项是()。

A、int a[2][]={{1,2},{3,4}};B、int a[2][2]={{1},2,3};C、int a[2][2]={{1},{2}};D、int a[][2]={1,2,3,4};9. int a[10]; 给数组a的所有元素分别赋值为1、2、3、……的语句是()。

A、for(i=1;i<11;i++)a[i]=i;B、for(i=1;i<11;i++)a[0]=1;C、for(i=1;i<11;i++)a[i+1]=i;D、for(i=1;i<11;i++)a[i-1]=i;10.若有说明: int a[3][4]={0};则下面正确的叙述是()。

大连理工大学C语言模拟题机房题库单选、判断、填空(分章节_共十一章)

大连理工大学C语言模拟题机房题库单选、判断、填空(分章节_共十一章)

第一部分注意事项1. 请对照《课件》和《教材》进行练习。

2. 熟悉键盘,注意竖杠“|”和反斜杠“\”的位置,请在西文状态下输入。

3. 单选题、判断题和填空题要会验证。

当输入汉字时,可能输入提示框是灰色的,再按一次中英文切换键即可。

4. 程序填空题不能删除注释/*****FILL*****/,但必须删除标记符号_____,否则编译通不过。

如,for(i=10; ____; i++)。

5. 程序改错题不能删除注释/*****ERROR*****/,仅在其下一行进行修改。

6. 程序填空题和程序改错题存盘即可。

但最好编译运行一下,编译时会自动存盘。

编译帮助检查语法错误,运行帮助检查逻辑错误。

7. 程序设计题不能删除注释/****BEGIN*****/和/****END*****/,只能在两个标记符之间编写程序。

必须保证编译、链接、运行都正确。

8. 以上程序题中不能更改程序结构和其它位置的程序代码,可以忽略其它程序位置的警告。

9. 如果VC发生死机(见图,可用按钮都变成灰色),请结束VC进程,再继续答题或重答。

结束VC进程的方法:先进入“任务管理器”;再选下面一种方法操作:方法1:选择“应用程序”标签,选中“VC任务”,按“结束任务”。

方法2:选择“进程”标签,选中“MSDEV.EXE”,按“结束进程”。

10. 提交试卷并看到成绩后再离开。

11.出现问题立即请示监考老师。

12.请记住几个常用的函数。

数学函数:sin(),cos(),tan(),log(),exp(),pow(),sqrt(),abs(),fabs()字符串函数:strcat(),strcpy(),strcmp(),strlen(),strlwr(),strupr()输入输出函数:printf(),scanf(),putchar(),getchar(),puts(),gets(),fopen(),fclose(),fprintf(),fscanf(),feof()其它实用函数:rand(),exit()第二部分概念题第1章概述1. C程序是的基本组成单位是_______. 函数2. C语言的程序结构分为______、选择结构和循环结构。

大连理工大学C语言期中测试模拟题2

大连理工大学C语言期中测试模拟题2

大连理工大学C语言期中测试模拟题2一、单项选择1、下述正确的C语言常量是:( C).A、E2B、5.0EC、3e-3D、1.5E2.52、若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是(D)。

A、0.000000B、2.750000C、3.500000D、2.5000003、根据下面的程序,使i=123,c1='A',c2='B'哪一种是正确的键盘输入方法(C ).(规定用[CR]表示回车,U表示空格)main(){int i;char c1,c2;scanf("%d%c%c", &i,&c1,&c2);}A、123AUB[CR]B、123UAUB[CR]C、123AB[CR]D、123[CR]AB[CR]4.下列程序段的输出结果为(B)。

int a=7,b=9,t; t=a*=a>b?a:b; printf("%d",t);A、49B、63C、7D、95. int a=1,b=2,c=3; if(a>c)b=a;a=c;c=b;则c的值为(C)。

A、1B、3C、2D、不一定6. t为int类型,进人下面的循环之前,t的值为0while( t=1 ){ ……}则以下叙述中正确的是(C )。

A、循环控制表达式的值为0B、循环控制表达式不合法C、循环控制表达式的值为1D、以上说法都不对7.针对for循环语句,for(表达式1;表达式2;表达式3),下列说法正确的是( B).A、break语句可以一次性跳出多层嵌套循环B、break语句只能跳出最内层循环C、continue语句可以一次性跳出多层嵌套循环D、continue语句可以跳出最内层循环8.以下不正确的定义语句是(C)。

A、double x[5]={2.0,4.0,6.0,8.0,10.0};B、char c1[]={'1','2','3','4','5'};C、int y[5]={0,1,3,5,7,9};D、char c2[]={'\x10','\xa','\x8'};9.以下正确的说法是( A).A、函数的类型决定返回值的类型B、定义函数时,形参的类型说明可以放在函数体内C、return后面不能为表达式D、如果形参与实参的类型不一致,以实参类型为准10. C语言规定,函数返回值的类型是由(A)。

C语言期中测试卷(含答案)

C语言期中测试卷(含答案)

C语言期中测试卷班级:学号:姓名:一、判断题(1×10分)1.在C语言中,一个double型所占字节数为8。

2.strcat的作用是连接两个字符数组中的字符串。

3.在求C语言的表达式时,只需考虑运算符的优先级。

4.在标准C中,变量必须先定义后使用。

5.逗号运算符的求值顺序是从左到右的,逗号表达式的值为第一个表达式的值。

6.在标准C中,以“%8.2f”形式输出的数字共有10位。

7.C语言不直接提供输入输出函数8.一个C程序可以有若干个C源程序组成,而C源程序可以由若干个函数和预处理组成。

9.C语言中用于结构化程序设计的三种基本结构是顺序结构、选择结构、循环结构。

10.在标准C中,赋值表达式可以出现在表达式的任何位置。

二、选择题(2×10分)第1题:假定a和b为int型变量,则执行以下语句后b的值为a=1;b=10;do{b-=a;a++;}while(b--<0);A、9B、-2C、-4D、8第2题:以下叙述不正确的是A、一个C源程序可由一个或多个函数组成B、一个C源程序必须包含一个main函数C、C程序的基本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面第3题:若有以下说明,则数值为4的表达式是:int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};char c='a',d;A、a[d-c]B、a[4]C、a['d'-'c']D、a['d'-c]第4题:下面有关for循环的正确描述是:A、for循环只能用于循环次数已经确定的B、for循环是先执行循环体语句,后判断表达式C、在for循环中,不能用break语句跳出循环体D、for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来第5题:下列符号中,不属于转义字符的是A、\\B、\x00C、\nD、\09第6题:以下程序的输出结果是# include <stdio.h># include <string.h>void main(){char str[12]={'s','t','r','i','n','g'};printf("%d\n",strlen(str));}A、6B、7C、12D、13第7题:下列符号可以作为变量名的是:A、+aB、*pC、_DAYD、next day第8题:下列选项中,不属于C语言关键字的是A、ifB、printfC、sizeofD、for第9题:循环for(i=1,j=6; ++i!=--j; ) s=i+j; 将执行A、2次B、3次C、4次D、以上均不是第10题:一个C语言程序是由A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成三、程序填空题(2×10分)第1题:用π/4≈1 - 1/3 + 1/5 - 1/7 + ……公式求π的近似值。

C语言期中试卷(含答案)

C语言期中试卷(含答案)

《 C语言》课程期中考试试卷一. 在A B C D四个选项中,选择一个正确的答案填入括号内( )1、用char定义的变量在IBM PC机中能表示的数的范围是:A) 0 ~+255 B) 0 ~+65535C) -128 ~+127 D) 只能存字符,不能存数( )2、设有int k=2; 则执行printf(“%d”,k++);的输出为:A) 0 B) 1 C) 2 D) 3()3、在while(!x)中,!x与______等价。

A) x==0 B) x!=0 C) x==1 D) x!=1()4、设有声明int value=‟5‟;,则执行下列选项的赋值语句后,value的值不等于5的是_____。

A.) value=value - ‟0‟; B) value=value - 0x30;C) value=value - 49; D) value=value - ‟\060‟;()5、如int k=7;float x=2.5,y=4.7; 则表达式 x+k%3*(int)(x+y)%2/4 运算后的值是:A) 0 B) 2 C) 2.5 D) 2.75( ) 6、若有int a,b;则语句:printf("%d",(a=2)&&(b=-2);的输出结果是:A)无输出 B)结果不确定 C)-1 D)1( ) 7、设有int a=2; 则执行printf("%d",5>a>1);的输出为:A)0 B)1 C)2 D)3( ) 8、执行语句c=(a=2,a+1,b=a++);后, a,b,c的值依次为:A)2,3,4 B)3,3,3 C)4,5,4 D)3,2,2( )9、以下程序的输出结果是A)2 0 B)3 1 C)3 2 1 D)2 1 0main( ){ int n=4;while(n--)printf("%d ",--n);}( )10、给出以下定义:char x[ ]="abcdef";char y[ ]={'a','b','c','d','e','f'};则正确的叙述为A) 数组x和数组y等价 B) 数组x和数组y的长度相同C) 数组x的长度大于数组y的长度 D) 数组x的长度小于数组y的长度( )11、若对一个函数调用在前, 定义在后,C语言将视其返回值为__________类型。

大一c语言期中考试题和答案豆丁网

大一c语言期中考试题和答案豆丁网

大一c语言期中考试题和答案豆丁网C语言期中考试试卷一、选择题(每题2分,共40分)1. 以下哪个选项是C语言的关键字?A. intB. integerC. INTD. Integer答案:A2. C语言中,哪个函数用于计算并返回两个整数相加的结果?A. add()B. sum()C. plus()D. addint()答案:B3. 在C语言中,以下哪个是正确的字符串定义?A. char str[5] = "Hello";B. char str[5] = {'H', 'e', 'l', 'l', 'o'};C. char str[5] = "Hello"; // 错误,字符串长度超过数组大小D. char str[] = "Hello";答案:D4. C语言中,以下哪个是正确的二维数组定义?A. int array[2][3] = {{1, 2, 3}, {4, 5, 6}};B. int array[2][3] = {1, 2, 3, 4, 5, 6};C. int array[2][3] = {{1, 2, 3}, {4, 5, 6, 7}}; // 错误,数组元素不匹配D. int array[2][3] = {1, 2, 3, 4, 5, 6, 7}; // 错误,数组元素不匹配答案:A5. C语言中,以下哪个是正确的函数定义?A. int func(int a, int b) { return a + b; }B. int func(int a; int b) { return a + b; } // 错误,分号使用不当C. int func(int a, int b) { return a - b; }D. int func(int a, b) { return a + b; } // 错误,b未指定类型答案:A6. C语言中,以下哪个是正确的条件语句?A. if (a > b) then { /* code */ }B. if (a > b) { /* code */ }C. if a > b { /* code */ } // 错误,缺少括号D. if (a > b) then { /* code */ } // 错误,then关键字不正确答案:B7. C语言中,以下哪个是正确的循环语句?A. for (int i = 0; i < 10; i++) { /* code */ }B. for i = 0 to 10 { /* code */ } // 错误,C语言中没有to关键字C. for (int i = 0; i < 10; i++) { /* code */ }D. for i = 0; i < 10; i++ { /* code */ } // 错误,缺少括号答案:C8. C语言中,以下哪个是正确的函数调用?A. func(5, 3);B. func(5; 3); // 错误,分号使用不当C. func(5, 3);D. func(5, 3);答案:A9. C语言中,以下哪个是正确的宏定义?A. #define PI 3.14159B. #define PI = 3.14159; // 错误,宏定义中不应包含等号和分号C. #define PI 3.14159D. #define PI 3.14159答案:A10. C语言中,以下哪个是正确的结构体定义?A. struct Point { int x, y; };B. struct Point { int x; int y; };C. struct Point { int x, y; };D. struct Point { int x; int y; };答案:B11. C语言中,以下哪个是正确的指针定义?A. int *p;B. int *p;C. int *p;D. int *p;答案:A12. C语言中,以下哪个是正确的文件操作函数?A. fopen()B. open()C. create()D. file()答案:A13. C语言中,以下哪个是正确的递归函数定义?A. int factorial(int n) { if (n == 0) return 1; else return n * factorial(n - 1); }B. int factorial(int n) { if (n == 0) return 1; else return n * factorial(n - 1); }C. int factorial(int n) { if (n == 0) return 1; else return n * factorial(n - 1); }D. int factorial(int n) { if (n == 0) return 1; else return n * factorial(n - 1); }答案:A14. C语言中,以下哪个是正确的枚举定义?A. enum Color { Red, Green, Blue };B. enum Color { Red, Green, Blue };C. enum Color { Red, Green, Blue };D. enum Color { Red, Green, Blue };答案:A15. C语言中,以下哪个是正确的联合体定义?A. union Data { int i; float f; char ch; };B. union Data { int i; float f; char ch; };C. union Data { int i; float f; char ch; };D. union Data { int i; float f; char ch; };答案:A16. C语言中,以下哪个是正确的位运算符?A. &B. |C. ^D. ~答案:D17. C语言中,以下哪个是正确的位段定义?A. struct BitFlags { unsigned int : 1; unsigned int flag2 : 1; };B. struct BitFlags { unsigned int flag1 : 1; unsigned int flag2 : 1; };C. struct BitFlags { unsigned int flag1 : 1; unsigned int flag2 : 1; };D. struct BitFlags { unsigned int flag1 : 1; unsigned int flag2 : 1; };答案:B18. C语言中,以下哪个是正确的动态内存分配函数?A. malloc()B. alloc()C. new()D. mem()答案:A19. C语言中,以下哪个是正确的动态内存释放函数?A. free()B. dealloc()C. delete()D. mem()答案:A20. C语言中,以下哪个是正确的预处理指令?A. #includeB. includeC. #importD. import答案:A二、填空题(每题2分,共20分)1. C语言中,用于定义整型变量的关键字是 ________。

C语言期中测试(含答案)

C语言期中测试(含答案)

C语言期中测试(开卷测试,答案写在白纸上)一.选择题(1)C语言源程序名的后缀是A).exe B).C C).obj D).cpp(2)以下选项中,合法的一组C语言数值常量是A)028 B)12. C).177 D)0x8A5e-3 0Xa23 4c1.5 10,000-0xf 4.5e0 0abc 3.e5(3)以下正确的字符串常量是A)"\\" B)’abc’C)OlympicGames D)"" (4) 表达式3.6-5/2+1.2+5%2的值是A)4.3 B)4.8 C)3.3 D)3.8(5)以下关于long、int和short类型数据占用内存大小的叙述中正确的是A)均占4个字节B)根据数据的大小来决定所占内存的字节数C)由用户自己定义D)由C语言编译系统决定(6)以下叙述中错误的是A)对于double类型数组,不可以直接用数组名对数组进行整体输入或输出B)数组名代表的是数组所占存储区的首地址,其值不可改变C)当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息D)可以通过赋初值的方式确定数组元素的个数(7)以下叙述中错误的是A)C语言源程序经编译后生成后缀为.obj的目标程序B)C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件C)用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中D)C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令(8)以下数组定义中错误的是A)int x[][3]={0};B)int x[2][3]={1,2,3,4,5,6};C)int x[][3]={{1,2,3},{4,5,6}};D)int x[2][]={1,2,3,4,5,6};(9)若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是A)函数的实参和其对应的形参共占同一存储单元B)形参只是形式上的存在,不占用具体存储单元C)同名的实参和形参占同一存储单元D)函数的形参和实参分别占用不同的存储单元(10)有以下程序段int j;float y;char name[50];scanf("%2d%f%s",&j,&y,name);当执行上述程序段,从键盘上输入55566 7777abc后,y的值为A)55566.0 B)566.0 C)7777.0 D)566777.0(11)有以下程序#include<stdio.h>main(){int y=9;for( ; y>0;y--)if(y%3= =0)printf("%d",--y);}程序的运行结果是A)741 B)963 C)852 D)875421 (12) 有以下程序#include<stdio.h>int a=4;int f(int n){int t=0;static int a=5;if(n%2){a=6;t+=a++;}{ a=7;t+=a++;}return t+a++;}void main(){int s=a,i=0;for(;i<2;i++)s+=f(i);printf ("%d\n",s);}程序运行后的输出结果是A)24 B)28 C)32 D)36(13) 要求通过while循环不断读入字符,当读入字母N时结束循环。

c语言程序设计期中考试题及答案

c语言程序设计期中考试题及答案

c语言程序设计期中考试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于声明函数?A. intB. returnC. voidD. function答案:A2. 以下哪个选项是C语言中的合法整型常量?A. 0x12B. 08C. 1.2e3D. 0b1010答案:A3. 若有以下代码段:```cint a = 10, b = 20;swap(a, b);```为了使代码正常工作,函数`swap`的参数应该是什么类型?A. intB. int*C. doubleD. double*答案:B4. 在C语言中,以下哪个运算符用于计算两个数的和?A. +=B. +=C. ||D. &&答案:A5. 下列哪个选项是C语言中的合法浮点数?A. 3.14B. .14C. 3e-2D. 1e答案:C6. 在C语言中,以下哪个关键字用于声明一个结构体?A. structB. unionC. enumD. typedef答案:A7. 以下哪个选项是C语言中的合法字符常量?A. 'a'B. "a"C. 'ab'D. '0'答案:A8. 在C语言中,以下哪个关键字用于声明一个数组?A. arrayB. listC. vectorD. int[]答案:D9. 以下哪个选项是C语言中的合法字符串常量?A. "Hello, World!"B. 'Hello, World!'C. "Hello" "World!"D. 'Hello' 'World!'答案:A10. 在C语言中,以下哪个关键字用于声明一个枚举?A. enumB. listC. setD. map答案:A二、填空题(每题3分,共15分)1. C语言中,用于定义一个空语句的关键字是________。

C语言程序设计期中测试(参考)

C语言程序设计期中测试(参考)

C语言程序设计期中测试(参考)C 语言程序设计期中测试题姓名_______ 学号________一、选择题:(单选, 1分/题, 共20分)1. 设有 int x=11; 则表达式 (x++ * 1/3) 的值是A) 3 B) 4 C) 11 D) 122. 下列变量定义中合法的是A) double _a=1-.le-1; B) int b=1+5e2.5; C) long do=3e5; D) float2_and=1-e-3;3. 设 int x=1, y=1; 表达式( !x||y-- )的值是A) 0 B) 1 C) 2 D) –14. 若变量已正确定义并赋值,下面符合C语言语法的表达式是A) a:=b++ B) b=2++ C) int 18.5%3 D) a+=c+b5. C语言中运算对象必须是整型的运算符是A) <= B) / C) = D) %=6. 设有说明语句:char a=’\72’; 则变量aA) 说明不合法 B) 包含2个字符 C) 包含3个字符 D) 包含1个字符7. 以下所列的C语言常量中,错误的是A) 0xFF B )1.2e0.5 C ) 2L D ) '\t'8. 下列选项中,可作为C语言变量名是A) y-3 B ) 4_x C ) include D ) x1..9. 若int a=3; 则执行完表达式a+=a-=a*a后,a的值是A)-3 B )9 C )-12 D )610. 在C语言中,合法的长整型常数是A) 12L B) x496271 C) 324562& D) 216D11. 以下选项中合法的字符常量是A)"B" B) '\182' C) 68 D) ‘\’’12. 以下合法的赋值语句是A) x=y=100 B) d--; C) x+y; D) 3+=x;13. 设正x、y均为整型变量,且x=10 y=3,则以下语句的输出结果是printf("%d,%d\n",x--,--y);A) 10,3 B) 9,3 C) 9,2 D)10,214. 以下选项中,非法的字符常量是A) '\t' B) '\17' C)"n" D) '\xaa'15. 以下选项中合法的实型常数是A) 5E2.0 B) E-3 C) .2E0 D) 1.3E16. 已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,则用八进制表示的字符常量'\101'是A) 字符A B) 字符a C) 字符e D) 非法的常量17. 以下选项中,与k=n++完全等价的表达式是_______。

C语言期中考试题目及答案

C语言期中考试题目及答案

一、选择题:【1】在 C 语言中,用户能使用的正确标识符是。

A) 5f B) _for C) struct D) _f.5答案: B分析:标识符只能由字母、数字、下划线组成,且第一个字母必须是字母或下划线;大小写敏感;不能使用关键字;最长 32 个字符。

【2】以下那个是正确的 C 语言常量。

A) 0678 B) '\0101' C) 1.2E3.5 D) 123L答案: D【3】以下对 C 语言源程序有关常识正确的描述是。

A) main 函数必须位于文件的开头B) 每个语句必须单独一行C) 标识符中大小写字母没有区别D) 宏定义#define 部分不一定要放在程序的最开头位置答案: D【4】以下 for 循环的执行次数是。

for(x=0,y=0;(y=123)&&(x<4);x++)A)是无限循环 B)循环次数不定 C) 执行 4 次 D)执行 3 次答案: C分析:若要判断(y=123)&&(x<4)假,因为 y=123 永远为真,所以只需要判断 x<4 为假即可。

【5】对 for(表达式 1;;表达式 3)可理解为。

A) for(表达式 1;0;表达式 3)B) for(表达式 1;1;表达式 3)C) for(表达式 1; 表达式 1;表达式 3)D) for(表达式 1; 表达式 3;表达式 3)答案: B【6】设有程序段int k=10;while(k=0) k=k-1;则下面描述中正确的是。

A) while 循环执行 10 次 B)循环是无限循环C)循环体语句一次也不执行 D)循环体语句执行一次答案: C分析:因为 k=0 为假,所以程序不执行其后的语句。

【7】C 语言中 while 和 do-while 循环的主要区别是。

A) do-while 的循环体至少无条件执行一次B) while 的循环控制条件比 do-while 的循环控制条件严格C) do-while 允许从外部转到循环体内D) do-while 的循环体不能是复合语句答案: A【8】设有: int a=1,b=2,c=3,d=4,m=2,n=2; 执行(m=a>b)&&(n=c>d) 后 n 的值为。

大连理工大学C语言题库(共12套)之欧阳与创编

大连理工大学C语言题库(共12套)之欧阳与创编

2665944699【第一套】一、单项选择1.下列数据中,为字符串常量的是(d)。

A、'A'B、How do you do.C、$abcD、"house"2.以下所列的C语言常量中,错误的是(b )。

A、0xFFB、1.2e0.5C、2LD、'\72'3.以下程序的输出结果是(d)。

main(){float x=3.6;int i;i=(int)x;printf("x=%f,i=%d\n",x,i );}A、x=3.600000,i=4B、x=3 i=3.600000C、x=3,i=3D、x=3.600000,i=3 4.若k是整型,则以下程序段的执行结果是:(b )k=-3;if(k<=0) printf("####")else printf("&&&&");A、####B、有语法错误,无结果C、&&&&D、####&&&&5.若x=2,y=3则x||y的结果是( c)。

A、3B、0C、1D、26.针对下列程序段回答问题(b ).for(t=1;t<=100;t++){scanf("%d",&x);if(x<0) continue;printf("%3d",t);}A、x>=0时什么也不输出B、最多允许输出100个非负整数C、printf函数永远也不执行D、当x<0时整个循环结束7.以下程序的执行结果是(b )。

main(){ int num = 0;while( num <= 2 ) { num++; printf( "%d,",n um ); } }A、0,1,2B、1,2,3,C、1,2,3,4,D、1,2,8.选择正确的输入语句(d )。

大连理工大学智慧树知到“计算机科学与技术”《C C++语言程序设计》网课测试题答案2

大连理工大学智慧树知到“计算机科学与技术”《C C++语言程序设计》网课测试题答案2

大连理工大学智慧树知到“计算机科学与技术”《C C++语言程序设计》网课测试题答案(图片大小可自由调整)第1卷一.综合考核(共15题)1.下列语句书写正确的是()。

A.printf“Good morning.”B.scanf(“%d”,x)C.char x=“s”D.char d =‘T’2.下面合法的C语言标识符是()。

A、SabB、1_abC、printfD、abc3.设int a=1,则执行完循环while(a++A.正确B.错误4.在C++中,可以从一个类派生出另一个类,前者称为(),后者称为派生类或子类。

A.基类或父类B.继承类C.多态类D.虚类5.定义类的静态函数成员的关键字为(),可通过对象名或类名访问它。

A.staticB.voidC.friendD.virtual6.当用类的一个对象去初始化类的另一个对象时,调用()。

A、析构函数B、拷贝构造函数C、静态函数D、以上都不是7.进行文件操作时需要包含fstream.h文件。

()T、对F、错8.数组的大小是固定的,所有数组元素的类型必须相同。

()A.正确B.错误9.进行文件操作时需要包含fstream.h文件。

()A.正确B.错误10.设short int i=65535;,执行语句printf("%d",i);后的输出结果是-1。

()T、对F、错11.C++语言是从早期的C语言逐渐发展演变而来的,与C语言相比,它在求解问题方法上进行的最大改进是()。

A.面向过程B.面向对象C.安全性D.复用性12.程序段int a=1234;printf(“%d\n”,a);的输出结果是()。

A.12B.34C.1234D.提示出错无结果13.设short int i=65535;,执行语句printf(“%d”,i); 后的输出结果是-1。

()A.正确B.错误14.构造函数有且只有一个。

()A.正确B.错误15.C语言程序中使用数组时,可以不定义就使用。

大连理工大学c++期中试卷-有问题详解

大连理工大学c++期中试卷-有问题详解

大 连 理 工 大 学课 程 名 称:面向对象方法与C++程序设计 试 卷: 统一 是否开卷 否 授课院 (系): 软件学院 考试日期: 09 年 4 月日 试卷共8 页一 、选择题〔10分, 每题2分〕 1.一个C++类________________。

A . 只能有一个构造函数和一个析构函数B . 可以有一个构造函数和多个析构函数C . 可以有多个构造函数和一个析构函数D . 可以有多个构造函数和多个析构函数2.如下静态数据成员的特性中,_____是错误的。

A . 声明静态数据成员时,前边要加修饰符static B . 静态数据成员要在类体外进展初始化 C . 静态数据成员不是所有对象所共用的D . 引用静态数据成员时,要在其名称前加<类名>和作用域运算符3.假如类X 是类Y 的友元类,如此如下哪种访问关系是正确的 __ ___。

A . 类X 的成员不能访问类Y 的私有成员 B . 类X 的成员可以访问类Y 的私有成员 C . 类Y 的成员可以访问类X 的私有成员 D . 只有类Y 的公共成员才能访问类X 的私有成员4.下面关于C++中类的继承与派生的说法错误的答案是_____________。

A . 基类的protected 成员在公有派生类的成员函数中可以直接使用 B . 基类的protected 成员在私有派生类的成员函数中可以直接使用 C . 私有派生时,基类的所有成员访问权限在派生类中保持不变 D . 继承可以分为单一继承与多重继承5.对const 与类,理解不正确的为__________。

A .可以用const 限制对象、数据成员或成员函数B .常成员函数不能修改对象的数据成员,但能调用该类中非常成员函数C .const 数据成员只能由构造函数通过初始化列表对其进展初始化D .const 对象只能调用它的const 成员函数,而不能调用非常成员函数二、写出下面程序的运行结果。

大工C语言2021全校模拟

大工C语言2021全校模拟

大工C语言2021全校模拟一、选择题1、sizeof(float)是()。

A、一个浮点表达式B、一个不合法的表达式C、函数调用结果是一个整型表达式。

D、一种函数调用2、下列数据中属于\字符串常量\的是( )。

A、'A'B、\C、ABCD、'ABC'3、用下面的scanf函数输入数据,使得i=10,k=15选择正确的键盘输入方法( ).(用\表示回车,U表示空格) main() {int i,k;scanf(\}A、i=10[CR]k=15[CR]B、i=10,k=15[CR]C、10U15[CR]D、10,15[CR]4、逻辑表达式3<2||-1&&4>3-!0的值为:( )A、1B、3C、0D、25、下列运算符中是C语言关系运算符的是()。

A、&B、~C、!=D、!6、语句while(!E);中的表达式!E等价于()。

A、E==1B、E!=0C、E!=1D、E==07、以下正确的描述是( ).A、只能在循环体内和switch语句内使用break语句B、continue语句的作用是终止整个循环的执行C、从多层嵌套的外层循环中退出时,只能使用goto语句D、在循环体内使用break 和continue语句的作用相同8、下面各语句中,能正确进行赋字符串操作的语句是( ).A、char s1[5][ ]={\B、char s2[6]={'A','B','C','D','E'};C、char st[ ][ ]={\D、char s[5]={'A','B','C','D','E'};9、若有说明: int a[3][4]={0};则下面正确的叙述是()。

A、数组a中每个元素均可得到初值0B、只有元素a[0][0]可得到初值0C、数组a中各元素都可得到初值,但其值不一定为0D、此说明语句不正确10、若有说明 int a[3][4];则a数组元素的非法引用是()。

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

一、单项选择1、下述正确的C语言常量是:( C).A、E2B、5.0EC、3e-3D、1.5E2.52、若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是(D)。

A、0.000000B、2.750000C、3.500000D、2.5000003、根据下面的程序,使i=123,c1='A',c2='B'哪一种是正确的键盘输入方法(C ).(规定用[CR]表示回车,U表示空格)main(){int i;char c1,c2;scanf("%d%c%c", &i,&c1,&c2);}A、123AUB[CR]B、123UAUB[CR]C、123AB[CR]D、123[CR]AB[CR]4.下列程序段的输出结果为(B)。

int a=7,b=9,t; t=a*=a>b?a:b; printf("%d",t);A、49B、63C、7D、95. int a=1,b=2,c=3; if(a>c)b=a;a=c;c=b;则c的值为(C)。

A、1B、3C、2D、不一定6. t为int类型,进人下面的循环之前,t的值为0while( t=1 ){ ……}则以下叙述中正确的是(C )。

A、循环控制表达式的值为0B、循环控制表达式不合法C、循环控制表达式的值为1D、以上说法都不对7.针对for循环语句,for(表达式1;表达式2;表达式3),下列说法正确的是( B).A、break语句可以一次性跳出多层嵌套循环B、break语句只能跳出最内层循环C、continue语句可以一次性跳出多层嵌套循环D、continue语句可以跳出最内层循环8.以下不正确的定义语句是(C)。

A、double x[5]={2.0,4.0,6.0,8.0,10.0};B、char c1[]={'1','2','3','4','5'};C、int y[5]={0,1,3,5,7,9};D、char c2[]={'\x10','\xa','\x8'};9.以下正确的说法是( A).A、函数的类型决定返回值的类型B、定义函数时,形参的类型说明可以放在函数体内C、return后面不能为表达式D、如果形参与实参的类型不一致,以实参类型为准10. C语言规定,函数返回值的类型是由(A)。

A、在定义该函数时所指定的函数类型所决定B、return语句中的表达式类型所决定C、调用该函数时系统临时决定D、调用该函数时的主调函数类型所决定11.函数fun用于将一字符串按相反次序显示,则横线上的表达式为(D ).void fun(char *s){ if(! *s)return;_____;printf("%c",*s);}A、printf("%s",s+1);B、fun(*(s+1));C、printf("%s",s+strlen(s)-1);D、fun(s+1);12.在宏定义#define PI 3.14159中, 用宏名代替一个( A).A、字符串B、常量C、单精度数D、双精度数13.若有说明:int *p1,*p2,m=5,n; 以下均是正确赋值语句的选项是(A)。

A、p1=&m;p2=p1;B、p1=&m;p2=&p1C、p1=&m;*p2=*p1;D、p1=&m;p2=&n;*p1=*p2;14.下列程序的运行结果是:( B).void fun(int *a, int *b){ int *k;k=a;a=b;b=k;}main( ){ int a=3,b=6,*x=&a, *y=&b;fun(x, y);printf("%d %d",a, b);}A、6 3B、3 6C、0 0D、编译出错15. C语言结构体类型变量在程序执行期间(B)。

A、没有成员驻留在内存中B、所有成员一直驻留在内存中C、只有一个成员驻留在内存中D、部分成员驻留在内存中二、判断题1、表达式 (j=3, j++) 的值是4.错2、若 a=3,b=2,c=1 则关系表达式"(a>b)==c" 的值为"真"。

对3、C语言的输入功能是由系统提供的输入函数实现的.对4、char c[6]="abcde"; printf("%3s", c)表示输出的字段的宽度为3位,如果被输出的数据的位数大于3,只输出3位数.错5、条件表达式x?'a':'b'中,若x=0时,表达式的值为'a'.错6、设x=1,y=2,z=3,则逻辑表达式x-y>z&&y!=z的值为0.对7、已知a=3,b=4,c=5.则逻辑表达式a+b>c && b==c值为0.对8. 若有说明int c;则while(c=getchar());没有语法错误。

对9、do-while循环由do开始,while结束,循环体可能一次也不做。

错10、for循环语句只能用于循环次数确定的情况下.错11. 若有定义 int a[10];则 for (i=0;i<=10;i++) a[i]=i;编译时无语法错误.对12、定义 int x[5],n;则x=x+n;或x++;都是正确的.错13、二维数组在内存中存贮时,是按列的顺序连续存贮各元素的值.错14. 变量根据其作用域的范围可以分作局部变量和全局变量.对15.变量根据其作用域的范围可以分作局部变量和全局变量.错16. 函数的返回值可以通过函数中的return语句获得。

对17. 若有宏定义:#define S(a,b) t=a;a=b;b=t由于变量t没定义,所以此宏定义是错误的。

错18. 定义 int a[ ]={1,2,3,4},y,*p=&a[1];,则执行y=(*--p)++后,y的值是2. 错19. 一个共用体变量中可以同时存放其所有成员.错20. 用fopen("file","r+");打开的文件"file"可以进行修改。

对三。

填空题、1. 若有定义:char c='\010'; 则变量C中包含的字符个数为__1___.2. getchar()函数只能接收一个_字符____.3. 执行下列语句后, b的十进制值是__1___.int x=240,y=15,b;char z='A';b=(( x && y ) && ( z < 'a' ));4. 设x和y均为int型变量,则以下for循环中的scanf语句最多可执行的次数是_3____. for (x=0,y=0;y!=123&&x<3;x++)scanf ("%d",&y);5. C语言中,数组名是一个不可变的__指针地址___常量,不能对它进行加减和赋值运算.6. 函数调用语句func((e1,e2),(e3,e4,e5))中含有_2____个实参.7. 定义int *p,a[5];将数组a的首地址赋给指针变量p的语句是_____.p=ap=&a[0]p=a;p=&a[0];8.构体变量.四、程序设计1、功能:编写函数sum(int m,int n),求出m~n之间(包括m和n,m<n)能同时被3和5整除的数的和,并将这些数的和作为返回值。

#include "stdio.h"int sum(int m,int n){/*********Begin**********//********** End **********/}main(){void TestFunc();int m=15,n=300;printf("sum=%d\n",sum(m,n));TestFunc();}void TestFunc()FILE *IN,*OUT;int i,m,n;IN=fopen("in.dat","r");if (IN==NULL){printf("Open File Error");return;}OUT=fopen("out.dat","w");if(OUT==NULL){printf("Write File Error");}for(i=0;i<5;i++){ fscanf(IN,"%d%d",&m,&n);fprintf(OUT,"%d\n",sum(m,n));}fclose(IN);fclose(OUT);}【参考代码】int i,s=0;for(i=m;i<=n;i++)if(i%3==0&&i%5==0)s=s+i;return s;2、功能:求5行5列矩阵的主、副对角线上元素之和。

注意,两条对角线相交的元素只加一次。

例如:主函数中给出的矩阵的两条对角线的和为45。

#include "stdio.h"#define M 5int fun(int a[M][M]){/*********Begin**********//********** End **********/void TestFunc(){FILE *IN,*OUT;int iIN[M][M],iOUT;int i,j;IN=fopen("in.dat","r");if(IN==NULL){printf("Please Verify The Currernt Dir..It May Be Changed");}OUT=fopen("out.dat","w");if(OUT==NULL){printf("Please Verify The Current Dir.. It May Be Changed");}{ for(i=0;i<M;i++)for(j=0;j<M;j++)fscanf(IN,"%d",&iIN[i][j]);iOUT=fun(iIN);fprintf(OUT,"%d\n",iOUT);}fclose(IN);fclose(OUT);}main(){int a[M][M]={{1,3,5,7,9},{2,4,6,8,10},{2,3,4,5,6},{4,5,6,7,8},{1,3,4,5,6}}; int y;y=fun(a);printf("s=%d\n",y);TestFunc();}【参考代码】int s=0;int i;for(i=0;i<M;i++)s=s+a[i][i]+a[i][M-1-i];s=s-a[(M-1)/2][(M-1)/2];return s;五、程序改错1、功能:输出Fabonacci数列的前20项,要求变量类型定义成浮点型,输出时只输出整数部分,输出项数不得多于或少于20。

相关文档
最新文档