C语言基础练习100题(含答案)
C语言基础练习100题(含答案) 欧阳学文 雷柳青编排 1、下面程序的输出是________ #include void main() { int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k); } A) k=11,k=12,k=11 B) k=11,k=13,k=13 C) k=11,k=013,k=0xb D) k=11,k=13,k=b 2、在下列选项中,不正确的赋值语句是________. A) ++t; B) n1=(n2=(n3=0)); C) k=i=j; D) a=b+c=1; 3、下面合法的C语言字符常量是__________. A) '\t' B) "A" C) 65 D) A 4、字符(char)型数据在微机内存中的存储形式是____. A) 反码B) 补码C) EBCDIC码D) ASCII码 5、设int a=12,则执行完语句a+=a=a*a 后,a的值是________ A) 552 B) 264 C) 144 D) 264 6、执行下面程序中的输出语句后,输出结果是______. #include void main() {int a; printf("%d\n",(a=3*5,a*4,a+5)); } A) 65 B) 20 C) 15 D) 10 7、下面程序的输出是__________. #include void main() {int x=023; printf("%d\n",x); } A) 17 B) 18 C) 23 D) 24 8、下面程序的输出是___________. #include void main() {char ch1,ch2; ch1='A'+'5''3'; ch2='A'+'6''3'; printf("%d,%c\n",ch1,ch2); } A) 67,D B) B,C C) C,D D) 不确定的值 9、以下程序的输出结果是________. #include void main() { int x=10,y=10; printf("%d %d\n",x,y); } A) 10 10 B) 9 9 C) 9 10 D) 10 9 10、若x和y都是int型变量,x=100,y=200,且有下面的程序片段: printf("%d",(x,y)); 上面程序片段的输出结果是_______.
C语言数组作业编程题答案
1、请先用记事本创建文件original.txt,往其中写入一组已排好序的整型数,今输入一个整数,要求按原来排序的规律将它插入数中,仍写入文件。例如:原来整数依次为4、6、8、41、56、77、102(数据间的分隔符为空格)。若将42插入数中,则插入后整数依次为4、6、8、41、4 2、56、77、102。 答案: #include #include void main() { int a[100]; int ijnumber; int n; FILE *fp; fp=fopen("e:\\C语言\\original.txt""r"); if(fp==NULL) { printf("open error"); exit(0); }
i=0; while(!feof(fp)) { fscanf(fp"%d"&a[i++]); fgetc(fp); } number=i-1; //number中存最后一个数据的下标 fclose(fp); scanf("%d"&n); //以下的while循环用来找n要放的位置循环结束时正好是a[i]的位置i=0; while(n>a[i]) { i++; } //for循环的功能是将a[i]到最后一个元素全后移一个位置 for(j=number;j>=i;j--) a[j+1]=a[j]; //将n放入找到的位置
a[i]=n; number=number+1; //加入n后,元素个数增1,用来控制向文件中的写入次数 fp=fopen("e:\\C语言\\original.txt""w"); if(fp==NULL) { printf("open error"); exit(0); } //写入数据 for(i=0;i<=number-1;i++) fprintf(fp"%d "a[i]); fprintf(fp"%d"a[i]); //最后一个数据后没有空格 fclose(fp); } 2、假定整型数组中的元素值不重复。今输入一个整数,先查找,如数组中存在此元素,则删除,否则不做操作。例如:原来数组的元素依次为14、6、28、41、96、77、89、102。若将96删除,则删除后数组元素依次为14、6、28、41、77、89、102。 答案:
C语言复习题及答案 第七章 数组教程文件
C语言复习题及答案第七章数组
第七章数组 (8学时) 学习目的与要求: 1 、重点掌握一维数组的定义和引用; 2 、基本掌握二维数组的定义和引用; 3 、重点掌握字符型数组的定义与引用; 4 、能正确使用字符串处理函数; 5 、学会使用数组解决实际问题。 重点: 1 、一维数组的定义与引用; 2 、二维数组的定义与引用; 3 、字符数组的定义与引用; 第1讲 知识归纳: 1、一维数组的定义:类型说明符数组名[ 常量表达式 ] ; (1) (1)数组名后必须用方括弧 [ ] ,用其他括弧均错误; (2) 方括弧中的常量表达式表示数组的元素个数; (3) 方括弧中的常量表达式,必须是能计算出具体数值,且不改变的常量,不能是变量; 2、一维数组的引用: 数组名[ 下标 ] //下标从0开始,可以是整型常量或整型表达式; (1) 注意:数组元素引用时,不要超出数组范围; 如 int a[10] ; //可以引用的数组元素为a[0]……a[9] , a[10] 不是本数组元素; 3、一维数组的初始化: (1) (1)可以在定义数组后,立刻赋值;如 int a [3] = { 1,3, 5} ; 但下面这样是错误的: int a[3] ; a = { 1,3, 5} ; (2) (2)可以给数组的部分元素赋值,不赋值的元素,默认值为int 0, char, ‘’, float 0.0 ; 如 int a [3]= {1,3 } ; //a[0] =1 ; a[1]= 3 ; a[2]= 0 ; (3) 在对数组全部元素赋初值时,可以不指定元素个数; (4) 可以在循环控制下,给数组各元素赋值; 如:int a[10] ; for ( i=0 ; i <10 ;i ++ ) a [ i ] = i ; 基础训练(A) 一、选择题 1、在c语言中,引用数组元素时,其数组下标的数据类型允许是()。
C语言数组编程题
实验4 数组 一.实验目的: 1.掌握一维数组的定义、赋值和输入输出的方法; 2.掌握字符数组定义、初始化、赋值的方法; 3.了解常见的字符串函数功能及其使用方法; 4.掌握二维数组的定义与引用。 二.实验内容: 1.编写程序,输入10个整数存入一维数组,统计输出其中的正数、负数和零的个数。 2.编写程序,输入10个整数存入一维数组,再按逆序重新存放后再输出。 3.编写程序,输入10个整数存入一维数组,对其进行升序排序后输出。 4.编写程序,求二维数组中元素的最大值和最小值。 5.编写程序,求一个4×4矩阵中所有元素之和。 6.编写程序:从键盘上输入一字符串,统计输出该字符串中的字母字符、数字字符、空格以及其他字符的个数。 7.编写程序:从键盘上输入一字符串,并判断是否形成回文(即正序和逆序一样,如“abcd dcba”)。 8. 产生一个由10个元素组成的一维数组并输出,数组元素由随机数(0-99)构成。 9. 产生一个由10个元素组成的一维数组,数组元素由随机数(0-99)构成。按照升序排列并输出。再输入一个数,按原来的规律将其插入并输出。 页脚内容1
10. 产生一个由10个元素组成的一维数组,数组元素由随机数(0-99)构成。按照升序排列并输出。再输入一个数,要求找出该数是数组中的第几个元素,如果不在数组中,则输出找不到。 11. 找出一个二维数组中的鞍点,即该位置上的元素在该行最大,在该列最小。可能没有鞍点。 12. 编程输出杨辉三角。(要求输出10行)(杨辉三角:每行端点与结尾的数为1.每个数等于它上方两数之和。每行数字左右对称,由1开始逐渐变大) 13. 输入一行字符,统计大写字母、小写字母、数字、空格以及其它字符个数。 14. 编写程序,将两个字符串连接起来,不用strcat。 15. 编写程序实现strcpy函数功能。 16. 编程实现strlen函数功能。 17. 编程求2-4+6-8…-100+102的值。 18. 假设某人有100,000现金。每经过一次路口需要进行一次交费。交费规则为当他现金大于50,000时每次需要交5%如果现金小于等于50,000时每次交5,000。请写一程序计算此人可以经过多少次这个路口。 19. 输入若干个正整数,以0结束,将其中大于平均值且个位为5的数排序后输出。(按由大到小的顺序排序) 20. 输入一个字符串,将其中ASCII码值为基数的字符排序后输出。(按由小到大的顺序) 21. 输入一个以回车结束的字符串(少于80个字符),滤去所有的非16进制字符后,组成一个新字符串(16进制形式),然后将其转换为10进制数后输出。 22. 读入一个正整数n(1<=n<=6),再读入n阶矩阵,计算该矩阵除副对角线、最后一行、最后一列 页脚内容2
c语言练习题带答案)-绝对经典题目不看后悔
1单选题 1.(A)是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 2.C语言程序从C开始执行。 A) 程序中第一条可执行语句B) 程序中第一个函数 C) 程序中的main函数D) 包含文件中的第一个函数 3、以下说法中正确的是(C)。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B)。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C)。 A.-a1 B.a[i] C.a2_i D.int t 5~8题为相同类型题 考点:标识符的命名规则 (1)只能由字母、数字、下划线构成 (2)数字不能作为标识符的开头 (3)关键字不能作为标识符 选项A中的“-” ,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3) 6.下列C语言用户标识符中合法的是(B)。 A)3ax B)x C)case D)-e2 E)union 选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1); 7.下列四组选项中,正确的C语言标识符是(C)。 A)%x B)a+b C)a123 D)123 选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2) 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 选项B中的“\”,”$” ,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while为关键字,不满足(3) 9.C语言中的简单数据类型包括(D)。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是C。 A)2.5 B)2 C)1 D)3 详见教材P52~53.
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语言程序设计》第7章 数组
第7章数组 第1次课:2学时 一、教学内容 1、一维数组的定义和引用 2、二维数组的定义和引用 二、教学目标 1.了解一维数组、二维数组的基本概念; 2.掌握数组的定义与引用; 3.掌握数组元素的引用 三、教学重点及难点 重点:数组的定义和引用 难点:数组的定义和引用 四、教学方法 多媒体教学,案例驱动,实例演示,提问。 五、教学过程设计 在程序设计中,为了处理方便,把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称为数组。在C语言中,数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。本章介绍数值数组和字符数组,其余的在以后各章陆续介绍。 7.1 一维数组的定义和引用 7.1.1 一维数组的定义方式 在C语言中使用数组必须先进行定义。 一维数组的定义方式为:类型说明符数组名[常量表达式]; 其中:类型说明符是任一种基本数据类型或构造数据类型;数组名是用户定义的数组标识符;方括号中的常量表达式表示数据元素的个数,也称为数组的长度。 对于数组类型说明应注意以下几点: (1) 数组的类型实际上是指数组元素的取值类型。对于同一个数组,其所有元素的数据类型都是相同的。 (2) 数组名的书写规则应符合标识符的书写规定。 (3) 数组名不能与其它变量名相同。 (4) 方括号中常量表达式表示数组元素的个数,如a[5]表示数组a 有5 个元素。但是其下标从0 开始计算。因此5个元素分别为a[0],a[1],a[2],a[3],a[4]。 (5) 不能在方括号中用变量来表示元素的个数,但是可以是符号常数或常量表达式。
c语言字符数组与字符串总结
字符数组与字符串 <1>定义 Char数组名[常量表达式] 数组中每一个元素的值为一个字符。 系统在内存为字符数组分配若干连续的存储单元,每个储存单元为一个字节。 <2>初始化 逐个元素初始化,如char c[8]={‘b’,’o’,’y’};(要记得加单引号) 用字符串初始化,如char c[11]={“I am a boy”};初始化后在末尾自动添加’0’ 如果初值个数<数组长度,则只将这些字符赋给数组中前面元素,其余元素自动定为空字符(即’0’) <3>输入输出 ①用格式”%c”逐个输入输出,如scanf(“%c”,&a[0]); ②用格式符”%s”整个字符串输入输出,如scanf(“%s”,a) 用”%s”格式输出字符数组时,遇’\0’结束输出,且输出字符中不含’\0’,用scanf及”%s”输入时,数组名前不能再加”&”符号。 字符串的末尾必须有’\0’字符,且字符串只能存放在字符数组中。 scanf中%s输入时遇空格或回车结束。 ③用函数gets实现输入 gets(字符数组),如gets(a) 调用函数时,回车键作为输入结束标志;然后将接收到的字符依
次赋给数组各个元素,并自动在字符串末尾加字符串结束标记’\0’ ④用字符串输出函数puts实现输出 puts(字符串/字符数组),如puts(a); 输出一个字符串,并在输出后自动换行。 <4>字符串处理函数 ①字符串拷贝函数 格式strcpy(字符数组1,字符串2) 将字符串2拷贝到字符数组1中去,要求字符数组1必须足够大,拷贝时’\0’一同拷贝,不能使用赋值语句为一个字符数组赋值。字符数组1应写成数组名的形式,比如char a[0]; strcpy(a,…) ②字符串连接函数 格式strcat(字符数组1,字符数组2) 将字符数组2连到字符数组1后面,要求字符数组1必须足够大,连接前,两串均以’\0’结束;连接后,串1的’0’取消,新串最后加’\0’。 ③计算字符串长度的函数 strlen(字符数组); 求出字符串或字符数组中实际字符个数,不包括’\0’,并且遇到’\0’结束。 ④字符串比较函数 格式strcmp(字符数组1,字符数组2)
C语言试题-选择题及答案
C语言试题 ★第1 题: 阅读程序,选择程序的运行结果___A___。 #include main() { int x; x=try(5); printf(“%d\n”, x); } try(int n) { if(n>0) return(n*try(n-2)); else return(1); } A. 15 B. 120 C. 1 D. 前面3个答案均是错误的 第2 题: 在下列结论中,只有一个是正确的,它是___A___。 A. 递归函数中的形式参数是自动变量 B. 递归函数中的形式参数是外部变量 C. 递归函数中的形式参数是静态变量 D. 递归函数中的形式参数可以根据需要自己定义存储类型 ★第3 题: 阅读程序,选择程序的输出结果__A___。 #include f(int x, int y) { return(y-x); } main() { int (*g)(int,int); int a=5, b=6, c=2; g=f; c=(*g)(a,b); printf(“%d\n”, c); } A. 1 B. 2 C. 3 D. 前面3个答案均是错误的 第4 题: 阅读程序,选择程序的输出结果__D___。 #include
char *p=”abcdefghijklmnopq”; main() { while(*p++!=?e?) ; printf(“%c\n”, *p); } A. c B. d C. e D. f ★第6 题: 阅读程序,选择程序的输出结果___D___。 #include void prtv(int *x) { printf(”%d\n”, ++*x); } main() { int a=25; prtv(&a); } A. 23 B. 24 C. 25 D. 26 第7 题: 阅读程序,选择程序的输出结果___B___。 #include main() { static char a[ ]= ”language”, b[]=”program”; char *ptr1=a, *ptr2=b; int k; for(k=0; k<7; k++) if(*(ptr1+k)==*(ptr2+k)) printf(”%c”, *(ptr1+k)); } A. gae B. ga C. language D. 有语法错误 ★第8 题: 函数调用strcat(strcpy(str1, str2), str3)的功能是__C___。 A. 将串str1复制到串str2中,然后再连接到str3之后 B. 将串str1连接到串str2之后,再复制到str3之中 C. 将串str2复制到串str1中,然后再将串str3连接到串str1之后
C语言数组典型例题分析与解答
数组练习解答 1 定义一个名为a的单精度实型一维数组,长度为4,所有元素的初值均为0的数定义语句是________________ 【分析】按照一般数据定义语句的格式,可以直接写出方法一(参看答案);考虑到所有元素均赋初值时可以省略数组长度,可以写出方法二(参看答案);考虑到不省略数组长度,给部分元素赋初值时,所有未赋初值的元素均有空值(对数值型数组来说,初值为0),可以写出方法三(参看答案);考虑到选用静态型,不赋初值所有元素也自动赋予。空值(对数值型数组来说,初值为0),可以写出方法四(参看答案)。 【答案】方法一:float a[4]={0.0,0.0,0.0,0.0}; 方法二:float a[]={ 0.0,0.0,0.0,0.0}; 方法三:float a[4]= {0.0}; 方法四:static float [4]; 2 下列数组定义语句中,错误的是() ①char x[1]='a';②auto char x[1]={0}; ③static char x[l];④char x[l]; 【分析】显然答案①中给字符型数组赋初值的格式不对(不能直接赋予字符常量,必须用花括号括住),所以备选答案①是符合题意的答案。 【答案】① 3 用"冒泡排序法"对n个数据排序,需要进行n一1 步。其中第k步的任务是:自下而上,相邻两数比较,小者调上;该操作反复执行n-k次。现在假设有4个数据:4、l、3、2要排序,假定4为上、2为下,则利用"冒泡排序法"执行第2步后的结果是_________________。【分析】开始排序前的排列执行第1步后的排列执行第2步后的排列 41 1 14 2 32 4 23 3 【答案】l、2、4、3 4 用"选择排序法"对n个数据排序,需要进行n-1步。其中第k步的任务是:在第k个数据到第n个数据中寻找最小数,和第k个数据交换。现在假设有4个数据:4、1、3、2要排序,则利用"冒泡排序法"执行第2步后的结果是______________________。 【分析】开始排序前的排列为:413 2 执行第1步后的排列为:143 2 执行第2步后的排列为:123 4 【答案】1、2、3、4 5 下列数组定义语句中,正确的是() ①int a[][]={1,2,3,4,5,6};②char a[2]「3]='a','b'; ③int a[][3]= {1,2,3,4,5,6};④static int a[][]={{1,2,3},{4,5,6}}; 【分析】C语言规定,二维数组定义时不允许省略第二维的长度,所以备选答案①④是错误的。C语言还规定,定义字符型数组时不允许直接使用"字符常量"的方式赋初值,所以备选答案②也是错误的。显然备选答案③符合题意。【答案】③ 6 定义一个名为"s"的字符型数组,并且赋初值为字符串"123"的错误语句是() ①char s[]={‘1','2','3','\0 '};②char s「」={"123"}; ③char s[]={"123\n"};④char s[4]={'1','2','3'};
C语言字符串的输入和输出
C语言字符串的输入和输出 字符串的输入和输出 %c人为加入\0进行输入输出 %s直接输入输出 *输入输出字符串时字符数组应有足够的存储空间,指针变量作为输入项时,指针必须已经指向确切的、足够大的存储空间 %s的使用 scanf("%s",地址值) 地址值:字符数组名、字符指针、字符数组元素的地址 例:char str[15]; scanf("%s",str); abc123 1.不读入空格和回车,从空格处结束 2.输入字符串长度超过字符数组元素个数,不报错 3.当输入项为字符指针时,指针必须已指向确定的有足够空间的连续 存储单元 4.当为数组元素地址时,从此元素地址开始存放 2.printf("%s",地址值) 输出时遇到第一个'\0'为止 3.gets和puts函数 开头必须stdio.h #include"stdio.h"
1.gets(地址值) 地址值:字符数组名、字符指针、字符数组元素的地址 4.当为数组元素地址时,从此元素地址开始存放 5.printf("%s",地址值) 输出时遇到第一个'\0'为止 6.gets和puts函数 开头必须stdio.h #include"stdio.h" 1.gets(地址值) 地址值:字符数组名、字符指针、字符数组元素的地址 7.例: char str[10]; gets(str); 包括空格符 8. 2.puts(字符串起始地址) 遇第一个'\0'结束,自动加入换行符 9.字符串数组:数组中每个元素都是一个存放字符串的数组 可以将一个二维数组看作是字符串数组 10.char ca[3][5]={"A","BB","CCC"}; A\0 B B\0 C C C\0 字符型指针数组 char*pa[3]={"a","bb","ccc"}; pa[0]pa[1]pa[2] 可以重新赋值gets(pa[2]);
C语言试题选择题及答案
★第1 题: 阅读程序,选择程序的运行结果___A___。 #include main() { int x; x=try(5); printf(“%d\n”, x); } try(int n) { if(n>0) return(n*try(n-2)); else return(1); } A. 15 B. 120 C. 1 D. 前面3个答案均是错误的 第2 题: 在下列结论中,只有一个是正确的,它是___A___。 A. 递归函数中的形式参数是自动变量 B. 递归函数中的形式参数是外部变量 C. 递归函数中的形式参数是静态变量 D. 递归函数中的形式参数可以根据需要自己定义存储类型 ★第3 题: 阅读程序,选择程序的输出结果__A___。 #include f(int x, int y) { return(y-x); } main() { int (*g)(int,int); int a=5, b=6, c=2;
g=f; c=(*g)(a,b); printf(“%d\n”, c); } A. 1 B. 2 C. 3 D. 前面3个答案均是错误的 第4 题: 阅读程序,选择程序的输出结果__D___。#include char *p=”abcdefghijklmnopq”; main() { while(*p++!=’e’) ; printf(“%c\n”, *p); } A. c B. d C. e D. f ★第6 题: 阅读程序,选择程序的输出结果___D___。#include void prtv(int *x) { printf(”%d\n”, ++*x); } main() { int a=25; prtv(&a); } A. 23
(完整版)C语言程序设计选择题库及答案
单项选择题 导读:单项选择题要求从给出的四个备选答案中,选出一个最符合题意的答案。本类习题主要检查对C语言基本概念的掌握情况,读者可根据学习进度选做部分习题。在完成习题的过程中,不但要选出正确的答案,而且要清楚不正确的选项错在何处,以加深对概念的理解。对于掌握不准的问题, 应该通过上机实验来检验。 【1.1】以下不正确的C语言标识符是____。 A) int B) a_1_2 C) ab1exe D) _x 【1.2】以下是正确的C语言标识符是____。 A) #define B) _123 C) %d D) \n 【1.3】下列四组字符串中都可以用作C语言程序标识符的一组是。 ??? A) print B) i\am C) Pxq D) str_l ??? _3d one_half My->book Cpp ??? oodb start$it line# pow ??? aBc 3pai His.age while
【1.4】下面各选项组中,均是C语言关键字的组是。 A) auto,enum,include B) switch,typedef,continue C) signed,union,scanf D) if,struct,type 【1.5】下列不属于C语言关键字的是。A) default B) register C) enum D) external 【1.6】C语言程序从main()函数开始执行,所以这个函数要写在____。 A) 程序文件的开始B) 程序文件的最后 C) 它所调用的函数的前面D) 程序文件的任何位置 【1.7】下列关于C语言的叙述错误的是____ A) 大写字母和小写字母的意义相同 B) 不同类型的变量可以在一个表达式中 C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型 D) 同一个运算符号在不同的场合可以有不同的含义
广技师C语言复习题5.练习(数组)(有答案)
一、选择题 1. 以下对一维整型数组a的正确说明是。 A.int a(10); B.int n=10, a[n]; C.int n; scanf(“%d”,&n); int a[n]; D.#define SIZE 10 int a[SIZE] 2. 若有说明:int a[10]; ,则对a数组元素的正确引用是。A.a[10] B.a[ 3.5] C.a(5) D.a[10-10] 4. 以下对二维数组a的正确说明是。 A.int a[3][ ]; B.float a(3,4); C.double a[ ][4]; D.float a(3)(4); 5. 若有说明:int a[3][4]; 则对a数组元素的正确引用是。A.a[3][4] B.a[1, 3] C.a[1+1][0] D.a(2)(1) 6. 以下能对二维数组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,0},{ },{1,1}}; 7. 下面程序段(每行代码前面的数字表示行号)。 1 int a[3]={3*0}; 2 int i 3 for(i=0; i<3; i++) scanf(“%d”,&a[i]);
4 for(i=1; i<3; i++) a[0]=a[0]+a[i]; 5 printf(“%d\n”,a[0]); A.第1行有错误B.第5行有错误 C.第3行有错误D.没有错误 8. 若有定义float x[4]={1.3, 2.4, 5.6},y=6; 则错误的语句是。A.y=x[3]; B.y=x+1; C.y=x[2]+1 D.x[0]=y; 9. 定义如下变量和数组: int k; int a[3][3]={1,2,3,4,5,6,7,8,9}; 则下面语句的输出结果是。 for(k=0; k<3; k++) printf(“%d”,a[k][2-k]); A.3 5 7 B.3 6 9 C.1 5 9 D.1 4 7 11. 下面是对数组s的初始化,其中错误的语句是。 A.char s[5]={“abc”}; B.char s[5]={‘a’, ‘b’, ‘c’}; C.char s[5]= “”; D.char s[5]= “abcde”; 12. 下面程序段的运行结果是。(□表示1个空格) char c[5]={'a','b','\0','c','\0'}; printf("%s",c); A.'a''b' B.ab C.ab□c D.ab□ 13. 有两个字符数组a、b,则以下正确的输入格式是。 A.gets(a,b); B.scanf(“%s%s”,a,b); C.scanf(“%s%s”,&a,&b); D.gets(“a”),gets(“b”);