C、C++程序设计:一维数组单元测试与答案

一、单选题

1、执行下面的程序段后,变量k中的值为()。

int k=3, s[2];

s[0]=k; k=s[1]*10;

A.30

B.不定值

C.1

D.33

正确答案:B

2、假定int类型变量占用4个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是()

A.3

B.40

C.10

D.12

正确答案:B

3、以下定义语句中,错误的是()。

A.int a[2]={1,2};

B. int n=2, a[n]={1,2};

C. int a[5]={1,2};

D. int a[]={1,2};

正确答案:B

4、以下对一维数组a进行正确初始化的是()。

A.int a[5]=(0,0,0,0,0);

B.int a[5]={1,2,3,4,5,6};

C.int a[5]={0};

D.int a[5]=1,2,3,4,5;

正确答案:C

5、有如下说明: int a[10]={0,1,2,3,4,5,6,7,8,9}; 则数值不为9的表达式是()。

A.a[8]

B.a[9]-a[0]

C.a[10-1]

D.a[9]

正确答案:A

二、判断题

1、使用数值型数组时,不可以一次引用整个数组,只能逐个引用元素。

正确答案:√

2、C语言中,数组名是一个常量,是数组首元素的内存地址,可以重新赋值。正确答案:×

3、C语言中,数组元素在内存中是顺序存放的,它们的地址是连续的。

正确答案:√

三、填空题

1、假设有定义 int a[10]={1,3,5,7}; ,则7是元素()的值。

正确答案:a[3]

2、数组名是一个地址(),由系统自动为其分配,不能人为修改,代表了数组在内存中存放的首地址。(提示:填“常量”或“变量”)

正确答案:常量

C语言程序设计单元测试题三

C语言程序设计_单元测试题三本单元包含“数组、函数”的内容。 一、选择题 1.以下为一维整型数组a的正确说明是_________. A)int a(10); B)int n=10,a[n]; C)int n; D)#define SIZE 10; scanf("%d",&n); int a[SIZE]; int a[n]; 2.以下对二维数组a的正确说明是________. A)int a[3][]; B)float a(3,4); C)double a[1][4] D)float a(3)(4); 3.若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为______. (假设a[0][0]位于数组的第一个位置上。) A)i*m+j B)j*m+i C)i*m+j-1 D)i*m+j+1 4.若二维数组a有m列,则在a[i][j]前的元素个数为________. A)j*m+i B)i*m+j C)i*m+j-1 D)i*m+j+1 5.25.若有以下程序段: int a[]={4,0,2,3,1},i,j,t; for(i=1;i<5;i++) {t=a[i];j=i-1; while(j>=0&&t>a[j]) {a[j+1]=a[j];j--;} a[j+1]=t;} ... ... 则该程序段的功能是_________. A)对数组a进行插入排序(升序) B)对数组a进行插入排序(降序) C)对数组a进行选择排序(升序) D)对数组a进行选择排序(降序) 6.有两个字符数组a、b,则以下正确的输入语句是_______. A)gets(a,B); B)scanf("%s%s",a,B); C)scanf("%s%s",&a,&B); D)gets("a"),gets("b"); 7.下面程序段的运行结果是_________. char a[7]="abcdef"; char b[4]="ABC";

C语言数组练习及答案

第四部分数组 4.1 选择题 1. 以下关于数组的描述正确的是(c )。 A. 数组的大小是固定的,但可以有不同的类型的数组元素 B. 数组的大小是可变的,但所有数组元素的类型必须相同 C. 数组的大小是固定的,所有数组元素的类型必须相同 D. 数组的大小是可变的,可以有不同的类型的数组元素 2. 以下对一维整型数组a的正确说明是(d )。 A.int a(10); B. int n=10,a[n]; C.int n; D. #define SIZE 10 scanf("%d",&n); int a[SIZE]; int a[n]; 3. 在C语言中,引用数组元素时,其数组下标的数据类型允许是(c )。 A. 整型常量 B. 整型表达式 C. 整型常量或整型表达式 D. 任何类型的表达式 4. 以下对一维数组m进行正确初始化的是(c )。 A. int m[10]=(0,0,0,0) ; B. int m[10]={ }; C. int m[ ]={0}; D. int m[10]={10*2}; 5. 若有定义:int bb[ 8];。则以下表达式中不能代表数组元bb[1]的地址的是(c )。 A. &bb[0]+1 B. &bb[1] C. &bb[0]++ D. bb+1 6. 假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是(d )。 A. 3 B. 6 C. 10 D. 20 7. 若有以下说明: int a[12]={1,2,3,4,5,6,7,8,9,10,11,12}; char c='a',d,g; 则数值为4的表达式是(d ) A. a[g-c] B. a[4] C. a['d'-'c'] D. a['d'-c] 8. 以下程序段给数组所有的元素输入数据,请选择正确答案填入(a )。 #include main() { int a[10],i=0; while(i<10) scanf("%d",________ ); ┇ }

C语言程序设计习题答案(6-13)

C语言程序设计习题答案 习题六数组 一、选择题 1~10: BDBCD CDBAB 11~20:BCDCC DABBC 21~30:CCADC ABBCB 31~41:BDDDD CDCCB A 二、填空题 1. 9 、 0 2.先行后列 3.连续的存储空间中 4. QuickC 5. (c=getchar( )) 、‘A’+i或65+i 6. ‘\0’、 str1[i]-str2[i] 7. CDABC 8. 10 14 9. 6 10. 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 11. 600 12. AzyD 13 4 some string *test 三、编程题 1. 定义一个有20个元素的整型数组,分别求出下标为奇数和偶数的元素的平均值。 答:程序参见文件Cprogram\ #include "" #include "" main() {int i,s0=0,s1=0,a[20]; for(i=0;i<20;i++) a[i]=rand()%100; for(i=0;i<20;i+=2) {printf("%3d",a[i]); s0=s0+a[i]; } printf(" sum is:%d ave=%f\n",s0,s0/; for(i=1;i<20;i+=2) {printf("%3d",a[i]); s1=s1+a[i]; } printf(" sum is:%d ave=%f\n",s1,s1/; }

2. 设有一个整型数组,另输入一个整数,编程查找这个整数是否在数组中出现过,若出现,则输出第一次出现的位置,否则,输出no found。 答:程序参见文件Cprogram\ #include "" #include "" main() {int i,s,a[20]; for(i=0;i<20;i++) a[i]=rand()%100; scanf("%d",&s); for(i=0;i<20;i++) if(a[i]==s) {printf("found:a[%d]=%d\n",i,a[i]); break; } if(i==20) printf("no found\n"); for(i=0;i<20;i++) printf("%3d",a[i]); printf("\n"); } 3. 设有一个已排好序的数组,今输入一个数,要求按原来排序的规律将它插入到数组中。 答:程序参见文件Cprogram\ #include "" #define N 10 main() {int i, j, s, a[N]={17,15,13,11,9,7,5,3,1}; 编一程序,从一个已排好序的数组中删去某个位置上的元素。 答:程序参见文件Cprogram\ #include "" #define N 10 main() {int i, j, a[N]={1,3,5,7,9,11,13,15,17,19}; for(i=0;i

C语言程序设计第六章数组习题及答案

1.以下对一维整型数组a的定义,正确的是_。(2分) A.int a(10) ; B.int n = 10 , a[n] ; C.int n ; scanf( "%d" , &n ) ; int a[n] ; D.int a[10] ; 2.若有定义:int a[10] ;,则对a数组元素的正确引用是_。(2分) A.a[10] B.a[3.5] C.a(5) D.a[10-10] 3.对定义int a[10] = {6 , 7 , 8 , 9 , 10} ; 的正确理解是_。(2分) A.将5个初值依次赋给a[1]--a[5] B.将5个初值依次赋给a[0]--a[4] C.将5个初值依次赋给a[6]--a[10] D.因为数组长度与初值个数不相同,所以此语句不正确 4..若有定义:int a[3][4]; , 则对a数组元素的正确引用是_。(2分) A.a[3][4] B.a[1,3] C.a[1+1][0] D.a(2)(1) 5.以下对二维数组a初始化正确的语句是_。(2分) A.int a[2][ ]={{0 , 1 , 2}, {3 , 4 , 5}}; B.int a[ ][3]={{0, 1, 2}, {3, 4, 5}}; C.int a[2][4]={{0, 1 , 2}, {3 , 4}, {5}}; D.int a[ ][3]={{0, 1, 2}, { }, {3, 4}}; 6.对二维数组a进行如下初始化: int a[ ][3]={0 , 1 , 2 , 3 , 4 , 5}; 则a[1][1]的值是_。(2分) A.0 B.3 C.4 D.1 7.下面程序段的运行结果是_。(2分) #include int main( ){ int i , x[3][3] = {1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9} ;

C语言程序设计试题与答案-

《C语言程序设计》试题(闭卷) 一、单项选择题:(每题 2 分,共 30 分) 1. C 语言规定:在一个源程序中,main函数的位置_____________。 A. 必须在最开始 B. 必须在系统调用的库函数的后面 C. 可以任意 D. 必须在最后 2. 下列说法中错误的是_____________。 A. 主函数可以分为两个部分:函数头和函数体 B. 主函数可以调用任何非主函数的其他函数 C. 任何非主函数可以调用其他任何非主函数 D. 程序可以从任何非主函数开始执行 3. 用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将 _____________。 A. 生成目标文件 B. 生成可执行目标文件 C. 输出运行结果 D. 自动保存源文件 4. 以下选项中,不正确的 C 语言浮点型常量是_____________。 A. 160. B. 0.12 C. 2e4.2 D. 0.0 5. 以下用户标识符中,合法的是_____________。 A. int B. nit C. 123 D. a+b 6. 算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为_____________。 A. 算术运算、关系运算、赋值运算 B. 算术运算、赋值运算、关系运算 C. 关系运算、赋值运算、算术运算

D. 关系运算、算术运算、赋值运算 7. 设整型变量 m,n,a,b,c,d 均为1,执行 (m=a>b)&&(n=c>d)后, m,n 的值是_____________。 A. 1,1 B. 0,1 C. 1,0 D. 0,0 8. sizeof (char)的结果值是_____________。 A. 4 B. 2 C. 1 D.出错 9. 设 a 为整型变量,不能正确表达数学关系:1010 && a<15 D. !(a<=10) && !(a>=15) 10. 要为字符型变量 a赋初值,下列语句中哪一个是正确的_____________。 A. char a="3"; B. char a=’3’; C. char a=%; D. char a=*; 11. 设有定义:char s[12] = "STRING" ; 则printf( "%d\n",strlen(s)); 的输出是_____________。 A. 6 B. 7 C. 11 D. 12 12. 合法的数组定义是( )。 A. int a[3][ ]={0,1,2,3,4,5}; B. int a[ ][ ] ={0,1,2,3,4}; C. int a[2][3]={0,1,2,3,4,5,6}; D. int a[2][3]={0,1,2,3,4,5,}; 13. 函数在定义时,省略函数类型说明符,则该函数值的类型为。 A. void B. int C. float D. double 14. 若有定义:int x,*pb;以下正确的赋值表达式是___________。 A. pb =&x B. pb =x

C语言程序设计试题及答案

C语言程序设计试题及 答案 IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】

C语言程序设计 一、选择题(共40分,每小题2分) 1、以下叙述不正确的是(D ) A、一个C源程序可由一个或多个函数组成 B、一个C源程序必须包含一个main函数 C、C程序的基本组成单位是函数 D、在C程序中,注释说明只能位于一条语句的后面 2、下列四个选项中,是不合法的用户标识符的选项是( B ) A、abc B、12AC C、sun D、 A 3、设有语句int a=4;则执行了语句a+=a- =a*a后,变量a的值是(A ) A、-24 B、0 C、4 D、16 4、下列运算符中优先级最高的是( B ) A、< B、+ C、&& D、== 5、在C语言中,运算对象必须是整型数的运算符是( A ) A、% B、/ C、%和/ D、 + 6、以下关于运算符的优先顺序的描述正确的是( C ) A、关系运算符<算术运算符<赋值运算符<逻辑与运算符 B、逻辑与运算符<关系运算符<算术运算符<赋值运算符 C、赋值运算符<逻辑与运算符<关系运算符<算术运算符 D、算术运算符<关系运算符<赋值运算符<逻辑与运算符 7、在C语言中,如果下面的变量都是int类型,则输出的结果是( C )

sum=pad=5;pAd=sum++,pAd++,++pAd; printf(“%d\n”,pad); A、7 B、6 C、5 D、4 8、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是( B ) A、 INPUT x、y、z; B、scanf(“%d%d%d”,&x,&y,&z); C、 scanf(“%d%d%d”,x,y,z); D、read(“%d%d%d”,&x,&y,&z); 9、假定从键盘输入23456< 回车 >,下面程序的输出结果是:( C ) void main ( ) { int m,n; scanf(“%2d%3d”,&m,&n); printf(“m=%d n=%d\n”,m,n); } A、m=23 n=45 B、m=234 n=56 C、m=23 n=456 D、语句有错误 10、若运行时,给变量x输入12,则以下程序的运行结果是( A ) main( ) { int x,y; scanf(“%d”,&x); y=x>12?x+10:x-12; printf(“%d\n”,y); } A、 0 B、 22 C、 12 D、10 11、C语言中while和do-while循环的主要区别( A )

C语言各章节单元测试题及答案——C程序设计初步

第1章 C程序设计初步 1.1典型考试题剖析 1.1.1选择题 【例1】下列变量定义合法的是_____。 A) short _a=1-.1e-1; B) double b=1+5e2.5; C) long do=0xfdaL; D) float 2-and=1-e-3; ✧考点:数据的合法性。 ✧分析:选项B错在指数部分是一个小数,C语言中要求指数部分必须是 整数;选项C错在使用了C语言本身的关键字do作为变量名,这是不允许的;选项D变量名命名错误,C语言的标识符要求必须以英文字母或下划线开头。 ✧答案:A 【例2】设有如下定义: int x=10,y=3,z; 则语句printf(“%d\n”,z=(x%y,x/y));的输出结果是_____。 A) 1 B) 0 C) 4 D) 3 ✧考点:逗号表达式的一般算法。 ✧分析:输出变量z的值是一个逗号表达式的值(注意一定要用括号把逗 号表达式括起来),逗号表达式的值就是最后一个分项即x/y的值。此外要注意运算符“/”的特性:当参加运算的两个操作数都为整数时,得到的结果也是一个整数,其值就是运算得到的商,x=10,y=3,进行运算后得到的商为3,故最后的输出也为3。 ✧答案:D 【例3】若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的是_____。 A) a≠0 B) !a C) a=0 D) a ✧考点:关系运算符的用法。

✧分析:选项A中使用的符号是数学中的不等号,C中不能使用;选项B 的意思刚好与题意要求相反;选项C则直接使用了一个赋值表达式,结果不论a的值如何,表达式的值都是0;选项D中利用了C语言的一个特性,即只要是非零值,C就将之认为是逻辑真,可以看到这样表示满足题目的要求。 ✧答案:D 【例4】两次运行下面程序,如果从键盘上分别输入6和4,则输出的结果是_____。 main( ) { int x; scanf(“%d”,&x); if (x++>5) printf(“%d”,x); else printf(“%d\n”,x--); } A) 7和5 B) 6和3 C) 7和4 D) 6和4 ✧考点:此处考查是自增1(减1)运算符的掌握,这是C语言考试中几乎必考的内容。 ✧分析:我们再来回顾一下:当“++”(或“--”)运算符作为前缀运算符时,表达式的值和变量的值同时加1(或减1),例如当“x=5”时,则表达式“++x”的值为6,变量x的值也为6;当“++”(或“--”)运算符作为后缀运算符时,表达式的值和变量的值不同,表达式的值不变,变量的值加1或减1,例如当“x=5”时,则表达式“x++”的值为5,变量x值则为6。 ✧答案:A 【例5】设有如下定义 int a=1,b=2,c=3,d=4,m=2,n=2; 则执行表达式:(m=a>b)&&(n=c>d)后,n的值为_____。 A) 1 B) 2 C) 3 D) 0 ✧考点:运算符&&的使用。 ✧分析:此题涉及Turbo C语言的一些具体规定:在处理&&运算符时,在碰到第一个操作数即为0的情况时,对第二个操作数不再进行运算。本题考

C、C++程序设计:一维数组单元测试与答案

一、单选题 1、执行下面的程序段后,变量k中的值为()。 int k=3, s[2]; s[0]=k; k=s[1]*10; A.30 B.不定值 C.1 D.33 正确答案:B 2、假定int类型变量占用4个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是() A.3 B.40 C.10 D.12 正确答案:B 3、以下定义语句中,错误的是()。

A.int a[2]={1,2}; B. int n=2, a[n]={1,2}; C. int a[5]={1,2}; D. int a[]={1,2}; 正确答案:B 4、以下对一维数组a进行正确初始化的是()。 A.int a[5]=(0,0,0,0,0); B.int a[5]={1,2,3,4,5,6}; C.int a[5]={0}; D.int a[5]=1,2,3,4,5; 正确答案:C 5、有如下说明: int a[10]={0,1,2,3,4,5,6,7,8,9}; 则数值不为9的表达式是()。 A.a[8] B.a[9]-a[0] C.a[10-1] D.a[9] 正确答案:A

二、判断题 1、使用数值型数组时,不可以一次引用整个数组,只能逐个引用元素。 正确答案:√ 2、C语言中,数组名是一个常量,是数组首元素的内存地址,可以重新赋值。正确答案:× 3、C语言中,数组元素在内存中是顺序存放的,它们的地址是连续的。 正确答案:√ 三、填空题 1、假设有定义 int a[10]={1,3,5,7}; ,则7是元素()的值。 正确答案:a[3] 2、数组名是一个地址(),由系统自动为其分配,不能人为修改,代表了数组在内存中存放的首地址。(提示:填“常量”或“变量”) 正确答案:常量

C语言程序设计试题试题及答案

C 语言程序设计试卷 ,C++语言程序设计试题及答案 一、单项选择题(每题1分,共20分) 1.C语言规定:在一个源程序中,main函数的位置( C )。 A.必须在最开始 B.必须在系统调用的库函数的后面 C.可以任意 D.必须在最后 2. 下面四个选项中,均是合法浮点数的选项是( B )。 A.+1e+1 5e-9.4 03e2 B.-.60 12e-4 -8e5 C.123e 1.2e-.4 +2e-1 D.-e3 .8e-4 5.e-0 3. 若a=-14,b=3,则条件表达式 a

C语言程序设计基础单元总结与练习题及答案

《C语言程序设计》单元总结与练习题 答案

单元一程序设计宏观认识 单元总结提升 本单元中,核心内容有C语言程序框架结构、程序的构成和程序开发过程。通过本单元的学习,我们应该知道: 1.C语言程序最基本的程序框架由两部分构成,分别是: (1)编译预处理 (2)函数组 2.C程序最大的特点就是所有的程序都是用函数来装配的,函数是构成C语言程序的 函数返回值类型函数名(形式参数)关键字不能作为用户自定义标识符 C.用户自定义标识符中不区分大小写字母 D.标识符中可以出现下划线,且可以出现在标识符的任意位置 5.以下可用作用户自定义标识符的一组是()。 A.void、return、if B.printf、include、fabs C.Max、_abc、Main D.2abc、pay$、sum-10 二.填空题 1.C语言程序一般由若干个函数构成,程序中应至少包含一个_________,其名称只能为_________。 2.C语言程序中每条语句必须以_________结束。 3.C语言程序的注释是以_________开头,以________结束的,在VC++编程环境中,可使用_________作为注释的起始标识,注释对程序的执行不起任何作用。 4.最初编写的C语言程序称为_________,其扩展名为_________,编译后生成的文件为_________,其扩展名是_________,连接后生成的文件是_________,其扩展名是_________。

5.C语言规定,标识符只能由_________、_________和_________三种字符组成,而且,首字符只能是_________或_________。 *******************************************************************************习题答案: 一.选择题 1.C 2.B 3.C 4.C 5.C 二.填空题 1.主函数 main 2.分号; 3./* */ pp或.c 目标文件(或目标程序) .obj 可执行文件(或可执行程序) .exe 5.字母(A~Z,a~z)、数字(0~9)、下划线“_”字母或下划线 *******************************************************************************

C程序设计试卷及答案

《 C程序设计》考试试题 ( 120分钟) 一、单项选择题(每小题 2分,共60分)? 1.下列运算符中优先级最高的是 ________ 。 A)< B)+ C)&& D)!= 2.C语言中的标识符只能由字母、数字和下划线组成且第一个字符 ________ 。A)必须为字母 B)必须为下划线 C)必须为字母或下划线 D)可以是字母,数字或下划线中任一种 3.判断char型变量ch是否为大写字母的正确表达式是 ________ 。 A)ˊ A ˊ <=ch<= ˊ Z ˊ B)( ˊ A ˊ <=ch) AND ( ˊ Z ˊ >=ch) C)(ch>= ˊ A ˊ )&(ch<= ˊ Z ˊ ) D)(ch>= ˊ A ˊ )&&(ch<= ˊ Z ˊ ) 4.以下的for循环 ________ 。 for (x=0,y=0;(y!=123)&&(x<4);x++); A)是无限循环 B)循环次数不定 C)执行4次 D)执行3次 5. putchar函数可以向终端输出一个 ________ 。 A)字符或字符变量值 B)字符串 C)整型变量表达式的值 D)实型变量值 6.设 a,b,c都是int型变量,且a=3,b=4,c=5,则下面的表达式中,值为 0的表达式是 ________ 。 A)ˊaˊ&&ˊbˊ B) a

c语言程序设计课程模拟试卷及答案(2秋季)

一、单选题(每小题2分,共20分) 1、 C语言源程序文件得缺省扩展名为( c )。 2.设x与y均为逻辑值,则x && y为真得条件就是x与y(均为真 )。 3、在下列得符号常量定义中,正确得定义格式为( #define M3 10 )。 4、 for循环语句能够被改写为( while )语句。 5、在下面得一维数组定义中,错误得定义格式为( int a[];)。 6.在下面得函数原型声明中,存在语法错误得就是(int AA(int a; int b;); )。 7、假定a为一个数组名,则下面存在错误得表达式为( *a++ )。 8、假定有定义为“int a[10], x,*pa=a;”,若要把数组a中下标为3得元素值赋给x,则不正确得赋值为( x=*p a+3 )。 9.字符串"y=%d\n"得长度为__5__。 10、向一个二进制文件中写入信息得函数为(fwrite() )。 二、填空题(每小题2分,共26分) 1.执行“printf("%c",'A'+3);”语句后得到得输出结果为_D_ 2.短整数类型short int得长度为2 3、用类型关键字表示十进制常数3、26f得类型为_float 4、假定y=10,则表达式++y*3得值为_33 5、逻辑表达式(x==0 && y>5)得相反表达式为_(x!=0|| y<=5) 或:(x||y<=5) 6.若x=5,y=10,则x!=y得逻辑值为_1(真,true) 7、假定二维数组得定义为“int a[3][5];”,则该数组所占存储空间得字节数为_60 8、使用“typedef char BB[10][50];”语句定义_BB为含有10行50列得二维字符数组类型。 9、字符串"a:\\xxk\\ff"得长度为9 10.假定p所指对象得值为25,p+1所指对象得值为46,则*++p得值为_46 11、假定一个数据对象为int*类型,则指向该对象得指针类型为_int** 12.假定一个结构类型得定义为“struct A{int a,b; struct A* c;};”,则该类型得理论长度为__12 13、假定要访问一个结构对象x中得数据成员a,则表示方式为_x、a 三、写出下列每个程序运行后得输出结果(每小题6分,共30分) 1、#include void main() { int x=3; switch(2*x+1) { case 4: printf("%d ",x); break; case 7: printf("%d ",2*x); break; case10: printf("%d ",3*x); break; default: printf("%s ","default"); } }输出结果:6 2、 #include void main() { int f=1,i; for(i=1;i<4;i++) f=3*f+1; printf("%d ",f); }输出结果:40 3、#include #include<string、h>

《C语言程序设计》试题一及答案

《C语言程序设计》试题一 一、填空题 1、C语言中基本的数据类型有:、、。 2、C语言中普通整型变量的类型说明符为,在内存中占字节,有符号普通整型的数据范围是。 3、整数-35在机内的补码表示为。 4、执行下列语句int a=8; a+=a-=a*a; 后,a的值是。 5、有如下语句:char A[ ]={”I am a student”};该字符串的长度是,A[3]= 。 6、符号”a”和’a’的区别是 。 7、所谓“指针”就是。 “&”运算符的作用是。 “*”运算符的作用是。 8、有如下输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是。 二、选择题 1、设整型变量a为5,使b不为2的表达式是( C )。 A. b=a/2 B. b=6-(--a) C. b=a%2 D. b=a>3?2:1 2、为了避免嵌套的条件分支语句if-else的二义性,C语言规定:C程序中的else总是与( C )组成配对关系。 A. 缩排位置相同的if B. 在其之前未配对的if C. 在其之前未配对的最近的if D.同一行上的if 3、以下程序的输出结果是( D )。 int x=10,y=10; printf(“%d %d\n”,x--,--y); A. 10 10 B. 9 9 C. 9 10 D. 10 9 4、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i 个元素的地址

为( B )。 A.P+i*2 B. P+(i-1)*2 C. P+(i-1) D. P+i 5、选出下列标识符中不是合法的标识符的是( D )。 A. hot_do B. cat1 C. _pri D. 2ab 6、以下程序的输出结果是( A )。 int a=5; float x=3.14; a*=x*(‘E’ - ‘A’); printf(“%f\n”,(float)a); A. 62.000000 B. 62.800000 C. 63.000000 D. 62 7、设有说明double(*p1)[N];其中标识符p1是( C )。 A. N个指向double型变量的指针。 B. 指向N个double型变量的函数指针。 C. 一个指向由N个double型元素组成的一维数组的指针。 D. 具有N个指针元素的一维指针数组,每个元素都只能指向double型量。 8、在C程序中有如下语句:char *func(int x,int y); 它是( C )。 A. 对函数func的定义。 B. 对函数func的调用。 C.对函数func的原型说明。 D. 不合法的。 9、以下程序的输出结果是( D )。 char str[15]=”hello!”; printf(“%d\n”,strlen(str)); A. 15 B. 14 C. 7 D. 6 10、分析以下程序的输出结果是( A )。 main() {int a=5,b=-1,c; c=adds(a,b); printf(“%d”,c); c=adds(a,b); printf(“%d\n”,c); } int adds(int x,int y) {static int m=0,n=3; n*=++m; m=n%x+y++; return(m); }

C程序设计(数组)习题与答案

C程序设计(数组)习题与答案C程序设计(数组)习题与答案 数组是C语言中常用的数据结构之一,它可以存储多个相同类型的元素。掌握数组的使用对于C程序设计至关重要,下面将为大家介绍一些关于C数组的习题及其答案。 1. 习题一:计算数组元素的和 题目描述:编写一个程序,计算给定数组中所有元素的和,并输出结果。 解题思路: ```c #include int main() { int arr[5] = {1, 2, 3, 4, 5}; // 定义一个包含5个元素的整型数组 int sum = 0; // 用于存储和的变量 // 遍历数组,累加每个元素的值 for (int i = 0; i < 5; i++) { sum += arr[i]; } printf("数组元素的和为:%d\n", sum);

return 0; } ``` 2. 习题二:查找数组中的最大值 题目描述:编写一个程序,找出给定整型数组中的最大值,并输出结果。 解题思路: ```c #include int main() { int arr[7] = {4, 7, 2, 9, 1, 5, 8}; // 定义一个包含7个元素的整型数组 int max = arr[0]; // 假设第一个元素为最大值 // 遍历数组,比较每个元素的值与当前最大值的关系 for (int i = 1; i < 7; i++) { if (arr[i] > max) { max = arr[i]; } }

printf("数组中的最大值为:%d\n", max); return 0; } ``` 3. 习题三:查找数组中的特定元素 题目描述:编写一个程序,在给定整型数组中查找是否存在指定元素,并输出结果。 解题思路: ```c #include int main() { int arr[6] = {3, 6, 9, 2, 5, 8}; // 定义一个包含6个元素的整型数组 int target = 2; // 指定要查找的元素 int found = 0; // 用于标记是否找到目标元素的变量 // 遍历数组,比较每个元素的值与目标值的关系 for (int i = 0; i < 6; i++) { if (arr[i] == target) { found = 1;

程序设计与C语言简介单元测试与答案

一、单选题 1、结构化程序由三种基本结构组成,三种基本结构组成的算法,()。 A.只能完成部分复杂的任务 B.只能完成一些简单的任务 C.可以完成任何复杂的任务 D.只能完成符合结构化的任务 正确答案:C 2、下面不是算法特征的是()。 A.确定性 B.可行性 C.有穷性 D.继承性 正确答案:D 3、关于C语言,下面叙述不正确的是()。 A.语法限制不太严格,例如,对数组下标越界不作检查 B.既具有高级语言的特点,又具有汇编语言的特点 C.既能用来编写不依赖计算机硬件的应用程序,又能用来编写各种系统程序 D.不用编译可以直接运行 正确答案:D 4、下面选项()不属于结构化程序设计原则。 A.不限制GOTO语句使用

B.自顶向下 C.程序模块化 D.逐步求精 正确答案:A 5、下面选项中,()不属于程序的特性。 A.有序性 B.实用性 C.有限性 D.可操作性 正确答案:B 二、判断题 1、计算机只能完成其能力范围内的计算工作,超出计算机能力范围的计算计算机将无法完成。 正确答案:√ 2、编译方式下的程序当修改源程序后,需要重新编译才能够正确运行。 正确答案:√ 3、C语言属于面向过程的优秀程序设计语言,既可作为系统设计语言,也可作为应用程序设计语言。 正确答案:√ 4、算法可以分为数值算法和非数值算法两大类。 正确答案:√

5、在VC++6.0环境下,任何一个C程序都必须包含在一个工程项目中,而且只能有一个main函数。 正确答案:√ 三、填空题 1、C语言开发工具直接输入的程序代码是____文件,经过编译后生成的是目标程序文件,经过连接后生成的是可执行程序文件。 正确答案:源或源程序 2、算法的效率通常由_____ 复杂度和空间复杂度衡量。 正确答案:时间 3、描述算法的方法主要有_____、专用工具(传统流程图、N-S流程图)和伪代码等。 正确答案:自然语言 4、计算机系统由硬件系统和______系统两部分组成。 正确答案:软件 5、计算机语言分为:机器语言、汇编语言和_________语言。 正确答案:高级

c语言数组典型试题设计含答案

一.选择题(2*20) 【题1】在C 语言中,引用数组元素时,其数组下标的数据类型允许是。A)整型常量B)整型表达式 C)整型常量或整型表达式D)任何类型的表达式 【题2】以下对一维整型数组a 的正确说明是。 A)int a(10); B)int n=10,a[n]; C)int n; D)#define SIZE 10 scanf(“%d”,&n); int a[SIZE]; int a[n]; 【题3】若有说明:int a[10];则对a 数组元素的正确引用是。 A)a[10] B)a[3.5] C)a(5) D)a[10-10] 【题4】在C 语言中,一维数组的定义方式为:类型说明符数组名; A)[整型常量表达式] B)[整型表达式] C)[整型常量] 或[整型表达式] D)[常量] 【题5】以下能对一维数组a 进行正确初始化的语句是。 A)int a[10]=(0,0,0,0,0); B)int a[10]={}; C)int a[]={0}; D)int a[10]=”10*1”; 【题6】以下对二维数组a 的正确说明是。 A)int a[3][]; B)float a(3,4); C)double a[1][4]; D)float a(3)(4); 【题7】若有说明:int a[3][4];则对a 数组元素的正确引用是。 A)a[2][4] B)a[1,3] C)a[1+1][0] D)a(2)(1) 【题8】若有说明:int a[3][4];则对a 数组元素的非法引用是。 A)a[0][2*1] B)a[1][3] C)a[4-2][0] D)a[0][4] 【题9】以下能对二维数组a 进行正确初始化的语句是。 A)int a[2][]={{1,0,1},{5,2,3}}; B)int a[][3]={{1,2,3},{4,5,6}}; C)int a[2][4]={{1,2,3},{4,5},{6}}; D)int a[][3]={{1,0,1},{},{1,1}}; 【题10】以下不能对二维数组a 进行正确初始化的语句是。 A)int a[2][3]={0}; B)int a[][3]={{1,2},{0}}; C)int a[2][3]={{1,2},{3,4},{5,6}}; D)int a[][3]={1,2,3,4,5,6};

C语言程序设计(数组)期末单元测试与答案

一、单选题 1、C语言中,引用数组元素时,其数组下标的数据类型允许是(). A.整型表达式 B.任何类型的表达式 C.整型常量 D.整型常量、整型变量或整型表达式 正确答案:D 2、若有定义:int a[3][4], 则对数组a元素的正确引用是( ) A.a(2)(0) B.a[10-10] C.a[1,3] D.a[2][3] 正确答案:D 3、以下不正确的定义语句是(). A.char c1[ ] = { '1', '2', '3', '4', '5' }; B.int y[5] = { 0, 1, 3, 5, 7, 9 }; C.double x[5] = { 2.0, 4.0, 6.0, 8.0, 10.0 }; D.char c2[ ] = { '\x10', '\xa', '\x8' }; 正确答案:B 4、以下程序的输出结果是(). #include int main()

{ int n[2] = {0},i,j,k = 2; for (i = 0; i < k; i++) for (j = 0; j < k; j++) n[j] = n[i]+1; printf("%d\n",n[k]); return 0; } A.1 B. 2 C. 3 D.不确定的值 正确答案:D 5、若二维数组a 有m 列,则在a[ i ][ j ] 前的元素个数为( ). A.j*m+i B.i*m+j C.i*m+j+1 D.i*m+j-1 正确答案:B 6、下面语句的输出结果是(). int i,x[3][3] = {1,2,3,4,5,6,7,8,9}; for (i = 0; i < 3; i++)

相关文档
最新文档