C语言复习题1
C语言程序设计复习题(一)1的阅读程序部分
![C语言程序设计复习题(一)1的阅读程序部分](https://img.taocdn.com/s3/m/1cf5691714791711cc7917ed.png)
} case 2: printf("third\n"); } } 结果:first third 4.下列程序运行结果是【 -1 】 。 #include<stdio.h> main( ) { int n=4; do n--; while (n); printf("%d\n",--n); } 5.下列程序运行结果是【 】 。 #include<stdio.h> dec( ) { static int x=5; x--; printf("%d",x); } main( ) { int k; for(k=0;k<3;k++) dec( ); } 结果:4 3 2 五.程序填空(请依题意,将程序中括号部分补充完整。每题 3 分,共 15 分) 1. 一个正整数与 3 的和是 5 的倍数,与 3 的差是 6 的倍数,编写一个程序求符合条件的最 小数。 #include <stdio.h> main() { int n; n=1; while (1) { n=n+1; if 【 (1) (n+3)%5==0&&(n-3)%6==0 】break; } printf("n=%d",n); } 2.将两个字符串合并成一个字符串。 #include <stdio.h> main() { char s1[20],s2[20],s3[40]; int i,j; printf("String1:"); gets(s1); printf("String2:》复习题(二)
一.单选题(在本题的每一小题的备选答案中,只有一个答案是正确的,请把你认为正确答 案的题号,填入题中的括号内。多选不给分。每题 1 分,共 20 分) 1.在 C 语言中,不同类型数据混合运算时,要先转换成同一类型后进行运算。设一表达式 中包含有 int、 long、 unsigned、 char 类型的变量和数据, 则表达式最后的运算结果是 【 ④ 】 类型数据。 ① int ② char ③ unsigned ④ long 2.若 int 型数据占 2 个字节,则以下语句的输出为 【 ④ 】 。 int k=-1; printf(“%d,%u\n”,k,k); ① -1,-1 ② -1,32767 ③ -1,32768 ④ -1,65535 3.设 x 和 y 均 为 int 型 变 量 , 则 执 行 以 下 语 句 后 的 输 出 为 【 ① 】 。 x=1 5; y=5 ; pri ntf( “ %d\n ” ,x%= (y%= 2)); ① 0 ② 1 ③ 6 ④ 12 4.若 x 为 uns igned in t 型 变 量 , 则 执 行 以 下 语 句 后 的 x 值 为 【 ④ 】 。 x=6 5535; pri ntf( “ %d\n ” ,x); ① 65535 ② 1 ③ 无定值 ④ -1 5 . 判断 char 型变量 c1 是否为小写字母的最简单且正确的表达式为【 ④ 】 。 ① ’a’<=c1<=’z’ ② (c1>=a)&&(c1<=z) ③ (‘a’<=c1)||(‘z’>=c1) ④ (c1>=’a’)&&(c1<=’z’) 6 . 以下不正确的 if 语句是【 ③ 】 。 ① if (x>y); ② if (x= =y) x+=y; ③ if (x!=y)scanf(“%d”,&x) else scanf(“%d”,&y); ④ if (x<y) {x++;y++;} 7 . C 语言对嵌套 if 语句的规定是:else 总是与【 ④ 】 配 对 。 ① 其 之 前 最 近 的 if ② 第 一 个 if ③ 缩 进 位 置 相 同 的 if ④ 其 之 前 最 近 且 不 带 else 的 if 8 . 设有说明语句:int a=2,b=7,c=5;则执行以下语句后,输出为【 ② 】 。 switch(a>0) { case 1: switch(b<0) { case 1: prin tf(“@”); break; case 2: p rintf(“!”); b reak; } case 0: switch(c==5) { case 0: prin tf(“*”); break; case 1 : p rintf(“#”); b reak; default:printf(“$”); break; } defau lt: p rin tf(“&”); } ① @#& ② #& ③ *& ④ $& 9 . 若有说明语句:int w=2,x=3,y=3,z=4;则表达式 w>x?w:z>y?z:x 的值是 【 ① 】 。 ① 4 ② 3 ③ 2 ④ 1 10.下面有关 for 循环的正确描述是【 ④ 】 。 ① for 循环只能用于循环次数已经确定的情况 ② for 循环是先执行循环体语句,后判定表达式
C语言习题(1)
![C语言习题(1)](https://img.taocdn.com/s3/m/25f9e035b90d6c85ec3ac6e8.png)
C语言概述、数据类型运算符表达式、顺序结构一、选择题1.下列叙述中,正确的是。
A.C程序中的注释只能出现在程序的开始位置和语句的后面B. C程序书写格式严谨,要求一行内只能写一个语句C. C程序的书写格式自由,一个语句可以写在多行上D. 用C语言编写的程序只能放在一个程序文件中2.下列选项中,可作为合法标识符的是。
A.1mB. DataC. str+1D. i-1 3.设变量已正确定义并赋值,以下合法的C语言赋值语句是。
A.x=y==5B. x=n%2.5C. x+n=iD. x=5=4+1 4.设有定义:int k=0;以下选项的4个表达式中与其他3个表达式的值不相同的是。
A.k++B. k+=1C. ++kD. k+1 5.若有定义:int a,b;则用语句scanf(“%d%d”,&a,&b);输入a,b的值时,不能作为输入数据分隔符的是。
A.,B. 空格C. 回车D. Tab键6.C语言并不是非常严格的算法语言,在以下关于C语言的不严格的叙述中,错误的是。
A.任何不同数据类型都不可以通用B. 有些不同类型的变量可以在同一个表达式中运算C. 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型D. 同一个运算符号在不同的场合可以有不同的含义7.下列常数中不能作为C语言的常量的是。
A.0Xa6B. 3.4e-3C. 3e5D. 0683 8.下面不是C语句的是。
A.int;B. ;C. a=1,b=5D. {;} 9.设x、y、z为整型变量,若从键盘给x、y、z输入数据,则正确的输入语句是。
A.scanf(“%d%d%d”,&a,&b,&c);B. scanf(“%d%d%d”,a,b,c);C.scanf(“%D%D%D”,&a,&b,&c);D. scanf(“%d%d%d”,&a;&b;&c); 10.若变量已正确定义,现要将a和b中的数据进行交换,下面不正确的是。
C语言第一阶段考试题(40份)
![C语言第一阶段考试题(40份)](https://img.taocdn.com/s3/m/fb6db53316fc700abb68fc8c.png)
一、选择题(每题2分,共计64分)1.C语言规定,必须用作为主函数名。
A)Function B)include C)main D)stdio2.一个C程序可以包含任意多个不同名的函数,但有且仅有一个,一个C程序总是从开始执行。
A)过程B) 主函数C)函数D)include3. C语言规定: 在一个源程序中, main函数的位置。
A) 必须在最开始B) 必须在系统调用的库函数的后面C) 可以在任意位置D) 必须在源文件的最后4.在C 语言中,下列类型属于基本类型的是。
A)整型、实型、字符型B)空类型、枚举型C)结构体类型、实型D)数组类型、实型5.下列字符串属于标识符的是。
A)INT B)5_student C)2ong D)!DF6.下列字符串不属于标识符的是。
A)sum B)average C).day_night D)M.D.JOHN7.C语言中能用来表示整常数的进制是。
A)十进制、八进制、十六进制B)十二进制、十进制C)六进制、八进制D)二进制、十进制8.在C语言中,回车换行符是。
A)\n B)\t C)\v D)\b9.在C语言中,退格符是。
A)\n B)\t C)\v D)\b10.在ASCII码表中可以看到每个小写字母的ASCII码比它相应的大写字母的ASCII 码。
A)大32 B)大64 C)小32 D)小6411.设d为字符变量,下列表达式不正确的是。
A)d=97 B)d=’a’C)d=”a”D)d=’g’12.10+’a’+1.5-567.345/’b’的结果是型数据。
A)long B)double C)int D)unsigned float13.如果i=3,则k=(i++)+(++i)+(i++)执行过后k的值和i的值为。
A)12,6 B)12,5 C)18,6 D)15,514.如果int i=3,int j=4,则k=i+++j执行之后k,i和j的值分别为。
A)7,3,4 B)8,3,5 C)7,4,4 D)8,4,515.已知在ASCII集中,字母A的序号为65,下面程序的输出结果为。
C语言精编100题(C语言考试题库) ( 1 )
![C语言精编100题(C语言考试题库) ( 1 )](https://img.taocdn.com/s3/m/21f5a01e6edb6f1aff001fd6.png)
C语言精编100题一、单选题1.由C语言编写的代码程序( )A. 可直接执行B. 是一个源程序C. 经过编译即可执行D. 经过编译解释才能执行2.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是( )A. 大写字母B. 中划线C. 数字字符D. 下划线3.下列选项中,不能用作标识符的是( )A. _1234_B. _1_2C. int_2_D. 2_int_4.以下选项中合法的用户标识符是( )A. longB. _2TestC. 3DmaxD. A.dat5.以下不能定义为用户标识符的是( )A. MainB. _0C. _intD. sizeof6.下列定义变量的语句错误的是( )A. int _int;B. double int_;C. char For;D. float US$;7.在C语言中,合法的实型常数是( )A. 5E2.0B. E-3C. 2E0D. 1.3E8.在C语言中,合法的实型常数是( )A. 1.2E0.5B. 3.14159EC. 5E-3D. E159.以下选项中,不能作为合法常量的是( )A. 1.234e04B. 1.234e0.4C. 1.234e+4D. 1.234e010.以下不合法的数值常量是( )A. 011B. le1C. 8.0E0.5D. 0xabcd11.在C语言中,非法的字符常量是( )A.‘\t’B.‘\17’C. "\n"D.‘\xaa’12.以下不合法的字符常量是( )A.‘\018’B.‘\"’C.‘\\’D.‘\xcc’13.下列运算符中优先级最高的运算符是( )( )A. <=B. =C. %D. &&A. ==B. /C. =D. >=14.以下程序的输出结果是( )main(){ int a=3,b=4;printf("%d\n",a<=b);}A. 3B. 4C. 1D. 015.在C语言中,以下非法的表达式是( )A. 0<=x<=100B. i=j==0C. (char)(65+3)D. x+1=x+116.在C语言中,以下非法的赋值语句是( )A. j++;B. ++(i+1);C. x=j>0;D. k=i==j;17.表达式3.6-5/2+1.2+5%2的值是( )A. 4.3B. 4.8C. 3.3D. 3.818.设有语句:int a=3;则执行了语句a+=a-=a*a;变量a的值是( )A. 3B. 0C. 9D. -1219.设有语句:int x=10;则执行了语句x+=x-=x-x;变量x的值是( )A. 10B. 20C. 40D. 3020.以下程序的输出结果是( )( )( )( )( )⑴ main(){ int i=10,j=1;printf("%d,%d\n",i--,++j);}A. 9,2B. 10,2C. 9,1D. 10,1⑵ main(){ int a=12,b=12;printf("%d %d\n" ,--a,++b);}A. 10 10B. 12 12C. 11 10D. 11 13⑶ main(){ int x=023;printf("%d\n",--x);}A. 17B. 18C. 23D. 24⑷ main(){ int x=10,y=10;printf("%d %d\n",x--,--y);}A. 10 10B. 9 9C. 9 10D. 10 9⑸ main(){ int i=010,j=10;printf("%d,%d\n",++i,j--);}A. 11,10B. 9,10C. 010,9D. 10,921.以下程序的输出结果是( )main(){ int x=100,y=200;printf("%d\n",(x,y)); }A. 200B. 100C. 100 200 D)200 10022.以下程序的输出结果是( )main(){ int x=10,y=3,z;printf("%d\n",z=(x%y,x/y));}A. 1B. 0C. 4D. 323.int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是( )A. k++B. k+=1C. ++kD. k+124.以下程序的输出结果是( )main(){ int x,y,z;x=y=1;z=x++,y++,++y;printf("%d,%d,%d\n",x,y,z); }A. 2,3,3B. 2,3,2C. 2,3,1D. 2,2,125.设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为( )A. 1B. 2C. 3D. 426.设int x=-1;执行表达式++x||++x||++x||++x,x的值是( )A. 0B. 1C. 2D. 427.以下程序的输出结果是(1) main(){ int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k);}()A. k=11,k=12,k=11B. k=11,k=13,k=13C. k=11,k=013,k=0xbD. k=11,k=13,k=b(2) main(){ int k=17; printf("%d,%o,%x\n",k,k,k); }()A. 17,021,0x11B. 17,17,17C. 17,0x11,021D. 17,21,1128.运行时从键盘上输入9876543210<CR>(<CR>表示回车),则该程序的输出结果是()main(){ int a;float b,c;scanf("%2d%3f%4f\n",&a,&b,&c);printf("a=%d,b=%f,c=%f\n",a,b,c);}A. a=98,b=765,c=4321B. a=10,b=432,c=8765C. a=98,b=765.000000,c=4321.000000D. a=98,b=765.0,c=4321.029.设变量均已正确定义,若要通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。
c语言考试题及答案百度文库
![c语言考试题及答案百度文库](https://img.taocdn.com/s3/m/de636075876fb84ae45c3b3567ec102de2bddf28.png)
c语言考试题及答案百度文库一、选择题1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 在C语言中,以下哪个函数用于将字符串从源地址复制到目标地址?A. strcpyB. strncpyC. strcatD. strcmp答案:A3. 下列哪个选项是C语言中合法的整型常量?A. 0x4FB. 4.5EC. 0b1010D. 0L答案:A二、填空题1. C语言中,用于定义一个变量为静态存储期的关键字是________。
答案:static2. C语言中,用于定义一个变量为自动存储期的关键字是________。
答案:auto3. C语言中,用于定义一个变量为寄存器存储期的关键字是________。
答案:register三、简答题1. 请简述C语言中指针的作用。
答案:指针在C语言中用于存储变量的内存地址,通过指针可以间接访问和修改变量的值,实现动态内存分配和数组操作等功能。
2. 请解释C语言中数组和指针的关系。
答案:在C语言中,数组名可以被当作指向数组第一个元素的指针。
数组的每个元素可以通过指针访问,指针的偏移量可以用于遍历数组。
四、编程题1. 编写一个C语言程序,实现两个整数的加法运算。
答案:```c#include <stdio.h>int main() {int a = 5, b = 10;int sum = a + b;printf("Sum of %d and %d is %d\n", a, b, sum);return 0;}```2. 编写一个C语言程序,实现字符串的反转。
答案:```c#include <stdio.h>#include <string.h>void reverseString(char *str) {int i, j;char temp;for (i = 0, j = strlen(str) - 1; i < j; i++, j--) { temp = str[i];str[i] = str[j];str[j] = temp;}}int main() {char str[] = "Hello, World!";reverseString(str);printf("Reversed string: %s\n", str);return 0;}```。
C语言知识点1
![C语言知识点1](https://img.taocdn.com/s3/m/d600aaca5122aaea998fcc22bcd126fff7055d97.png)
C语言语言个)一选择题(50个)1. 在程序中可以用来作为变量名的合法的标识符是:___c_ A sta c B 23_b1 C stu_1t D #33 2. 下列运算符运算级别最高的是:__D_______ D ! A && B += C >= D ! 3 已知:char str1, str2[10]; 选择正确的输入语句选择正确的输入语句 :__D______ 选择正确的输入语句A scanf ("%s%c", &str1,str2); B scanf ("%s%s", &str1,str2); C scanf ("%c%c", &str1,str2); D scanf ("%c%s", &str1,str2); 4 选择正确的运行结果:___D ______ #include "stdio.h" main() { int a=1,b=10; do{ a++; b-=a; b--; }while(b>0); prin ("a=%d,b=%d",a,b); } A a=2,b=-1 B a=2,b=-2 C a=4,b=-1 D a=4,b= -2 5. 有一个二维数组s[3][4], 其第2行第3列元素的正确表示是:___B____ A *(*(s+2)+3) B *(s+2)+3 C s[2,3] D s[3][2] 6. 以下正确的描述是:___B______ A con nue 语句的作用是终止整个循环的执行。
语句的作用是终止整个循环的执行。
B con nue 语句的作用是结束本次循环的执行。
语句的作用是结束本次循环的执行。
C con nue 语句和break 语句都可以在switch语句中使用。
语句中使用。
C语言复习题库(1)
![C语言复习题库(1)](https://img.taocdn.com/s3/m/e66f7328f61fb7360a4c6580.png)
一、填空题(每空 1 分,共20 分)1.程序的三种基本结构为(顺序)、(选择)和(循环)。
2.在C 语言中,用(;)表示语句的结束。
3.语句printf("%%d%d",123);将输出:(“%d123 )。
4.逻辑运算的结果值是(0 )或( 1 )。
5.数组 int a[3][4];共定义了(12 )个数组元素。
6.在 C 语言中,正确的标识符是由(数字、字母、下划线)组成的,且由(字母和下划线)开头的。
7.一个算法应具有的特点有:(有穷性)、(确定性)、有零个或多个输入、有一个或多个输出、有效性。
8.在程序执行过程中,其值不发生改变的量称为(常量),其值可变的量称为(变量)。
9.若有定义:int m=5,y=2;则执行表达式y+=y-=m*=y 后的y 值是(-16 )。
10.在三种正规循环中,当条件表达式的值为(0 )时,就结束循环。
11.C 语言中函数的参数分为(形式参数)和(实际参数)。
12.当函数的数据类型省略时,默认的数据类型为(int 型或者整数型)型。
13.按变量地址访问变量的方法叫(直接访问),通过存放变量地址的变量去访问变量的方法叫(间接访问)。
14.若有定义:int [3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]得到的初值是(0 ),a[2][1]得到的初值是( 6 )。
15.文件包含的一般形式为(#include <文件名> )。
16.宏定义中宏名一般用大写字母表示,容易做到(一改全改)。
17.结构体是一种(构造)数据类型用途是把(不同类型)的数据组合成一个整体。
18.位运算的运算对象只能是(整型)或(字符型)数据,而不可以是其他类型的数据。
19.(文件)是存储在外部介质上数据的集合,是操作系统数据管理的单位。
20.设有“int x=2,y”说明,则逗号表达式“y=x+5,x+y”的值是(9 )。
C语言程序设计1(专升本)期末考试试题及参考答案
![C语言程序设计1(专升本)期末考试试题及参考答案](https://img.taocdn.com/s3/m/038e0e2c91c69ec3d5bbfd0a79563c1ec5dad70c.png)
C语言程序设计1(专升本)期末考试试题及参考答案C语言程序设计复习题1(专升本)一、选择题1.用C语言编写的代码程序()。
A)可立即执行B)是一个源程序C)经过编译即可执行D)经过编译解释才能执行2.在C语言中,下列属于构造类型的是()A)整型B)字符型C)实型D)数组类型3.C语言中,运算对象必须是整型数的运算符是()。
A)% B)\ C)% 和\ D)**4.下列常数中,合法的C 常量是()。
A)-0. B) '105' C)'AB' D)"35"5.设整型变量a值为9,则下列表达式中使b的值不为4的表达式()。
A)b=a/2 B)b=a%2 C)b=8-(3,a-5) D)b=a>5?4:26.下列符号中,可以作为变量名的是()。
A)+c B)*X C)_DAY D)next day7.有以下程序main(){ char a,b,c,d;scanf("%c,%c,%d,%d",&a, &b, &c, &d);printf("%c,%c,%c,%c\n",a, b, c, d);}若运行时从键盘上输入:6,5,65,66。
则输出结果是()。
A)6,5,A,B B)6,5,65,66 C)6,5,6,5 D)6,5,6,68.以下叙述中错误的是()。
A)C语句必须以分号结束B)复合语句在语法上被看作一条语句C)空语句出现在任何位置都不会影响程序运行D)赋值表达式末尾加分号就构成赋值语句9. 以下叙述中正确的是()。
A)调用printf函数时,必须要有输出项B)使用putchar函数时,必须在之前包含头文件stdio.hC)在C语言中,整数可以以十二进制、八进制或十六进制的形式输出D)调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码10能正确表示逻辑关系“a≥=10或a≤0”的C语言表达式是()。
c期末考试复习题 (1)
![c期末考试复习题 (1)](https://img.taocdn.com/s3/m/1e9f208bbe23482fb5da4c1c.png)
一选择题1、一个算法应该具有“确定性”等五个特性,下面对另外4个特性的描述中错误的是( B )A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性2、C语言中最简单的数据类型包括( B )A、整型、实型、逻辑型B、整型、实型、字符型C、整型、字符型、逻辑型D、整型、实型、逻辑型、字符型3、设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是( D )A、6.500000B、6C、5.500000D、6.0000004、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);6、对两个字符数组a和b进行初始化char a[]="ABCDEF";char b[ ]={'A','B','C','D','E','F'}; 则以下叙述正确的是( D )A、a与b数组完全相同B、a与b长度相同C、a和b中都存放字符串D、a数组比b数组长度长7、为了避免在嵌套的条件语句if――else中产生二义性,c语言规定:else子句总是与( B )配对A、缩排位置相同的ifB、其之前最近的ifC、其之后最近的ifD、同一行上的if9、以下错误的if语句是( C )A、if(x>y) z=x;B、if(x= =y) z=0;C、if(x!=y) printf("%d",x) else printf("%d",y);D、if(x<y) { x++;y--;}10、若有说明:int a[3][4];则对a数组元素的非法引用是( D )A、a[0][2*1]B、a[1][3]C、a[4-2][0]D、a[0][4]11、程序char c[5]={‘a’,’b’,’\0’,’c’c,’\0’}; printf(“%s”,c);}的运行结果是( D )A、'a''b'B、abC、ab cD、ab空格12、一个C程序的执行是从( A )A、本程序的main函数开始,到main函数结束B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C、本程序的main函数开始,到本程序文件的最后一个函数结束D、本程序文件的第一个函数开始,到本程序main函数结束13、若变量已正确定义,以下非法的表达式是( B )A、a/=b+cB、a%(4.0)C、a=1/2*(x=y=20,x*3)D、a=b=c14、判断字符串a是否大于b,应当使用( D )A、if (a>b)B、if (strcmp(a,b))C、if (strcmp(b,a)>0)D、if (strcmp(a,b)>0)15、以下关于运算符优先顺序的描述中正确的是( C )A、关系运算符<算术运算符<赋值运算符<逻辑与运算符B、逻辑与运算符<关系运算符<算术运算符<赋值运算符C、赋值运算符<逻辑与运算符<关系运算符<算术运算符D、算术运算符<关系运算符<赋值运算符<逻辑与运算符16、使用语句scanf(“a=%f,b=%d”,&a,&b);输入数据时,正确的数据输入是:( A )A、a=2.2,b=3B、a=2.2 b=3C、2.2 3D、2.2,317、表示关系12<=x<=y的C语言表达式为:( B )A、(12<=x)&(x<=y)B、(12<=x)&&(x<=y)C、(12<=x)|(x<=y)D、(12<=x)||(x<=y)18、语句for(a=0,b=0;b!=100&&a<5;a++) scanf(“%d”,&b); scanf最多可执行次数为:( C )A、4B、6C、5D、121、6位无符号二进制数能表示的最大十进整数是( B )A) 64 B)63 C)32 D)3122、以下合法的用户标识符是( D )A)1st B) break C) Two Words D) B75723、设x和y均为int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是( D )A、把x和y按从大到小排列B、把x和y按从小到大排列C、无确定结果D、交换x和y中的值25、若有以下程序段:int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是( A )A、0B、0.5C、1D、226、设char ch='A';则ch=(ch>='A'&&ch<='Z')?(ch+32):ch的值是( B )A、AB、aC、ZD、z27、若已定义char s[10];在下面表达式中不能表示s[1]的地址的是( B )A、s+1B、s++C、&s[0]+1D、&s[1]28、对两个字符数组a和b进行初始化char a[ ]="ABCDEF"; char b[ ]={'A','B','C','D','E','F'}; 则以下叙述正确的是( D )A、a与b数组完全相同B、a与b长度相同C、a和b中都存放字符串D、a数组比b数组长度长29、有说明:char *language[]={"FORTRAN","BASIC","PASCAL","JAVA","C"};则表达式*language[1]>*language[2]比较的是( A )A、字符B和字符PB、字符串FORTRAN和字符串BASICC、字符F和字符BD、字符串BASIC和字符串PASCAL30、已知:int a[]={1,2,3,4,5,6},*p=a;则值为3的表达式是( A )A、p+=2,*(p++)B、p+=2,*++pC、p+=3,*p++D、p+=2,++*p31、下列关于赋值运算符的表述中,错误的是( B )A、赋值运算符优先级高于逗号运算符B、赋值运算符的结合性是从左至右C、赋值运算符是双目运算符D、赋值运算符可在表达式中连用32、设x,y为浮点型变量,合法赋值语句是( A )A、x=8+y;B、(float)3C、y=(x%2)/10D、*x=10;33、已定义ch为字符型变量,以下赋值语句中错误的是( B )A、ch='\';B、ch=62+3;C、ch=' ';D、ch='\xaa';34 、已知i、j、k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是( C )A、scanf("%2d%2d%2d",&i,&j,&k);B、scanf("%d %d %d",&i,&j,&k);C、scanf("%d,%d,%d",&i,&j,&k);D、scanf("i=%d,j=%d,k=%d",&i,&j,&k);35、若w,x,y,z,m均为int型变量,则执行语句w=1;x=2;y=3;z=4; m=(w<y)?w:x; m=(m<y)?m:y; m=(m<z)?m:z;后的m值是( A )A、1B、2C、3D、436、c语言中( D )A、不能使用do-while语句构成的循环B、do-while语句构成的循环必须用break语句才能退出C、do-while语句构成的循环,当while语句中的表达式值为非零时结束循环D、do-while语句构成的循环,当while语句中的表达式值为零时结束循环37、以下描述正确的是( C )A、由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句。
信息学奥赛辅导(C语言一)
![信息学奥赛辅导(C语言一)](https://img.taocdn.com/s3/m/6f0618c3988fcc22bcd126fff705cc1755275f1c.png)
信息学奥赛辅导(C语言一)信息学奥赛辅导:C语言复习题(一)第1~3章练习题一、选择题1、一个C语言程序总是从____A、主过程开始执行B、主函数开始执行C、子程序开始执行D、主程序开始执行2、若num、a、b和c都是int型变量,则执行表达式num=(a=4,b=16,c=32)后num的值为_A、4B、16C、32D、523、下面四个选项中,均是C语言关键字的选项是____A、auto enum includeB、switch typedef continueC、signed union scanfD、if struct type4、下面四个选项中,均是合法整型常量的选项是____A、160 -0xffff 011B、-0xcdf 01a 0xeC、-01 986,012 0668D、-0x48a 2e5 0x5、下面四个选项中,均是合法浮点数的选项是___A、+1e+1 5e-9.4 03e2B、-.60 12e-4 -8e5C、123e 1.2e-.4 +2e-1D、-e3 .8e-4 5.e-0A、'\'' '\\' '\n'B、'\' '\017' '\"'C、'\018' '\f' 'xab'D、'\\0' '\101' 'xlf'7、下面正确的字符常量是____A、'\X17'B、'\80'C、'\\'D、"\n"8、下面四个选项中,均是正确的八进制数和十六进制数的选项是____A、-10 0x8f -011B、0abc -017 0xcC、010 -0x11 0xf1D、0a12 -0x123 -0xa9、下面四个选项中,均是正确的数值常量或字符常量的选项是____A、0.0 0f 8.9e '&'B、"a" 3.9E-2.5 1e1 '\"'C、'3' 011 0xFF00 0aD、+001 0xabcd 2e2 50.10、若有代数式,则正确的C语言表达式是____A、2*ln(x)*cos(x)/3*xB、2*ln(x)*cos(x)/(3*x)C、2*log(x)*cos(x)/3*xD、2*log(x)*cos(x)/(3*x)11、若有说明语句:char ch1='\065';char ch2="2";char ch3='2';则:ch1中____,ch2中____,ch3中____A、包含1个字符B、包含2个字符C、包含3个字符D、字符个数不确定,说明不正确12、若有运算符:>、*=、?:、%、sizeof,则将它们按运算的优先级排列的正确次序为(由低至高)____A、*=→?:→%→>→sizeofB、?:→*=→>→%→sizeof13、若有以下类型说明语句:char a;int b;float c;double d;则表达式a*b+d-c的结果类型为____A、floatB、charC、intD、double14、若有变量说明:int a=0,b=0,c=0;,以下符合C语言语法的赋值表达式是____A、a=9+b+c=a+9B、a=9+b;c=a+9;C、a=(9+b,b++)D、a=9+b++=a+715、已知字母A的ASCII码为(65)10,变量ch1为字符型,则执行语句ch1='A'+'6'-'3';后,ch1中的值为____A、DB、68C、一个不确定的值D、C16、以下运算符中优先级最高的运算符是____A、&&B、++C、?:D、!=17、若有定义:int k=7;float a=2.5,b=4.7;则表达式a+k%3*(int)(a+b)%2/4的值是___A、2.500000B、2.7500000C、3.500000D、0.00000018、sizeof(float)是____A、双精度型表达式B、一个整型表达式C、一个函数调用D、一个不合法的表达式19、设变量y为float类型,x为int类型,则以下能实现将y中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是____A、y=(y*100+0.5)/100.0B、x=y*100+0.5,y=x/100.0C、y=y*100+0.5/100.0D、y=(y/100+0.5)*100.020、设int类型的数据长度为2个字节,则unsigned int类型数据的取值范围是____A、0~255B、0~65535C、-32768~+32767D、-256~+25521、若有以下定义,则能得到值为3的表达式是____(int m=7,n=12)A、n%=(m%=5)B、n%=(m-m%5)C、n%=m-m%5D、(n%=m)-(m%=5)22、若有说明:int a=1,b=2,c=3,d=4;则表达式a<b?a:c<d?c:d的值是___< bdsfid="170" p=""></b?a:c<d?c:d 的值是___<>A、4B、3C、2D、123、若x为int类型,则逗号表达式(x=4*5,x*5),x+25的结果是___,x的值是___A、20B、100C、表达式不正确D、4524、putchar函数可以向终端输出一个____A、整型变量值B、实型变量值C、字符串D、字符或字符型变量值25、若有以下变量说明和数据的输入方式,则正确的输入语句为('└─┘'代表空格)____变量说明:float x1,x2;数据的输入方式:4.52<回车>3.5<回车>A、scanf("%f,%f",&x1,&x2);B、scanf("%f%f",&x1,&x2);C、scanf("%3.2f└─┘%2.1f",&x1,&x2);D、scanf("%3.2f%2.1f",&x1,&x2);26、若运行以下程序时,从键盘输入25,13,10<回车>,则输出结果为___{int a1,a2,a3;scanf("%d%d%d",&a1,&a2,&a3);printf("a1+a2+a3=%d\n",a1+a2+a3);}A、a1+a2+a3=48B、a1+a2+a3=25B、a1+a2+a3=10D、不确定值27、已知a、b、c为int类型变量,若有输入语句:scanf("a=%db=%dc=%d",&a,&b,&c);为使a值为1,b值为3,c值为2,从键盘输入数据的正确形式应当是____A、132<回车>B、a=1b=3c=2<回车>C、1<回车>3<回车>2<回车>D、a=1<回车>b=3<回车>c=2<回车>28、以下能正确定义整型变量x、y和z并为其赋初值5的语句是____A、int x=y=z=5;B、int x,y,z=5;C、int x=5,y=5,z=5;D、x=5,y=5,z=5;29、执行下面程序段后,x的值是____int x;printf("%d\n",(x=3*5,x+5));30、下面程序段的输出结果是____int a=023;printf("%d\n",--a);A、23B、17D、2431、已知ch是字符型变量,则不正确的赋值语句是____A、ch=5+9;B、ch='\0';C、ch='7'+'9';D、ch='a+b';32、设x,y是float型变量,则不正确的赋值语句是____A、++x;B、y=int(5);C、x*=y+1;D、x=y=0;33、设有说明:double b=0.5,c=1.5;int a=10;则正确使用了C语言库函数的赋值语句是____A、c=asin(c)+fabs(a);B、b=log10(b)+pow(b);C、c=sqrt(b-c);D、a=(int)(atan2((double)a,b)+exp(b-0.2));34、以下程序段的输出结果是____int i=1,j=4,k=2;float x=5.5,y=9.0,z;z=(i+j)/k+sqrt((double)y)*1.2/k+x;printf("%f\n",z);A、9.800000B、9.300000C、8.500000D、8.00000035、若a为int类型变量,则执行以下程序段后a的值为____a=5;a*=a/=a++;B、1C、40D、336、若a和b均为int型变量,则执行以下程序断后x的输出是____x=15;y=15;printf("%d\n",x%=(y%=2));A、0B、1C、6C、1237、若x为unsigned int类型变量,则执行以下程序段后x的值是____x=65535;printf("%d\n",x);A、65535B、1C、无定值D、-138、以下语句的执行结果是____printf("%d\n",NULL);A、1B、0C、-1无定值39、若x为int类型变量,则执行以下程序段后的输出结果是____x=0xDEF;printf("%4d,%4o,%4x\n",x,x,x);A、3567,6757,defB、3567,6757,xdefC、3567,06757,0xdefD、3567,6757,0def40、若a、b、c均为int型变量,则执行以下程序段后的输出结果为____b=(a=10,a+5,c=10);printf("a=%d,b=%d,c=%d\n",a,b,c);c=(a=10,b=5,a+b);printf("a=%d,b=%d,c=%d\n",a,b,c);A、a=10,b=15,c=10B、a=10,b=10,c=10a=10,b=5,c=10 a=10,b=5,c=10C、a=10,b=10,c=10D、a=10,b=10,c=10a=10,b=5,c=15a=10,b=5,c=541、若a1、a2、a3、a4均为char类型变量,则执行以下程序段后的输出结果为____a1='1';a2='2';a3='3';a4='4';printf("%1c\n",a1);printf("%2c\n",a2);printf("%3c\n",a3);printf("%4c\n",a4);A、1B、1C、1D、输出格式的描述符不正确2 2 023 3 0034 4 000442、执行语句printf("The program's name is c:\\tools\book.txt");后的输出是____B、The program's name is c:\tools book.txtC、The program's name is c:\\tools book.txtD、The program's name is c:\toolook.txt43、设a、b、c、d均是int类型变量,为了使以下程序段的输出为:1234+123+12+1,正确的输入形式应当是____scanf("%4d+%3d+%2d+%1d",&a,&b,&c,&d);printf("%4d+%3d+%2d+%1d",a, b, c, d);A、1234123121<回车>B、1234123412341234<回车>C、1234+1234+1234+1234<回车>D、1234+123+12+1<回车>44、设c1、c2均是char类型变量,则以下不正确的函数调用是____A、scanf("c1=%cc2=%c",&c1,&c2);B、getchar( )C、putchar(c2);D、putchar(c1,c2)45、逻辑运算符两侧运算对象的数据____A、只能是0或1B、只能是0或非0正数C、只能是整型或字符型数据D、可以是任何类型的数据46、判断char型变量c1是否为大写字母的正确表达式是____A、'A'<=c1<='Z'B、(c1>='A')&(c1<='Z')C、(c1>='A')&&(c1<='Z')D、('A'<=c1) AND ('Z'>=c1)47、执行以下程序段后的a值是___,b的值是___,c的值是___int a=5,b=6,c=1,x=2,y=3,z=4;A、0B、6C、1D、548、设i、j、和k是int型变量,且i=3,j=4,k=5,则以下值为0的表达式是_A、'i'&&'j'B、i<=jC、i||j+k&&j-kD、!((i<j)&&!k||1)< bdsfid="334" p=""></j)&&!k||1)<>49、设ch是char类型变量,其值是A,则以下表达式的值是____ch=(ch>='A'&&ch<='Z')?(ch+32):chA、ZB、AC、aD、z50、若希望当num的值为奇数时,表达式的值为“真”,num 的值为偶数时,表达式的值为“假”。
吉林大学-C语言复习1
![吉林大学-C语言复习1](https://img.taocdn.com/s3/m/0f14fe60d1f34693dbef3ec1.png)
一、单项选择题1.以下选项中可作为 C 语言合法整数的是( )A) 10110B B )0386 C )OXffa D )x2a2参考答案:C2.以下选项中非法的表达式是( )A 0<=x<100B )i=j==0C )(char)(65+3)D )x+仁x+1参考答案:D3.假定x 和y 为double 型,则表达式x=2,y=x+3/2的值是( )A) 3.500000 B) 3 C) 2.000000 D) 3.000000参考答案:D4.设有定义语句:char c1=92,c2=92;,则以下表达式中值为零的是( )A) c1A c2 B) c1&c2 C) ~c2 D) c1|c2参考答案:A5.以下能正确定义二维数组的是( )A) int a[][3] B) int a[][3]=2{2*3};C) int a[][3]={} D) int a[2][3]={{1},{2},{3,4}};参考答案:D6.设正x 、y 均为整型变量,且x=10 y=3,则以下语句的输出结果是( )prin tf("%d,%d\n",x--,--y);A) 10,3 B) 9.3 C) 9.2 D)10,2参考答案:D7.有以下定义语句 double a,b; int w; long c;若各变量已正确赋值,则下列选项中正确的表达式是()A) a=a+b=b++ B) w%((i nt)a+b) C) (c+w)%(i nt)a D) w=a= =b;参考答案:C8.已定义c 为字符型变量,则下列语句中正确的是()10•以下语句或语句组中,能正确进行字符串赋值的是(A)char *sp;*sp="right!" B)char s[10];s="right!"; C)char s[10];*s="right!"D)char *sp="right!";参考答案:D11. si 和s2已正确定义并分别指向两个字符串。
c语言复习题一
![c语言复习题一](https://img.taocdn.com/s3/m/527232b8d0f34693daef5ef7ba0d4a7302766cff.png)
c语⾔复习题⼀复习题⼀⼀、选择题1.以下程序的输出结果是( B )。
#include “stdio.h ”main( ){ printf(“%d\n ”,‘A ’);}A.不确定值B.65C. 97D.A2. 以下程序的输出结果是( C )main( ){ char c1=‘7’,c2=‘0’;printf(“%c,%c,%d\n ”,c1,c2,c1-c2);}A.输出出错信息B.7,0,5C.7,0,7D.6,0,73. 以下变量说明正确的是( C )A.Int a,b;B.int x,float y;C. int a,x;D.int a,x4.若int a, b; scanf("%d%d", &a, &b); 不可以⽤( A )作为输⼊的分隔符。
A.,B. 空格C. 回车D. TAB 键5.设x=2.5, a=7, y=4.7 则表达式x+a%3*(int)(x+y)%2/4的值为( B )A. 0B. 2.5C.不确定D.36. 以下变量x.、y 、z 均为double 类型且已正确赋值,不能正确表⽰数学式⼦zy *x 的C 语⾔表达式是( A ) A. x/y*z B. x*(1/(y*z)) C. x/y*1/z D. x/y/z7. 下⾯(A )是正确的变量名。
A. xyB. 2xyC. x+yD.for8. 设有变量说明:int x=5,y=3;那么表达式y=x>y?(x=1):(y=-1);运算后,x 和y 的值分别是( B )相当与if 语句,问号前⾯成⽴是则执⾏冒号前不成⽴是执⾏冒号后A. 1和-1B. 1和1C. 5和1D. 1和39.以下合法的数组定义是( D )A.int a[]=“string ”;B.int a[5]={0,1,2,3,4,5};C.char a=“string”;D.int a[]={0,1,2,3,4,5};10.设有如下定义char s1[30]=“12345”;printf(“%d\n”,strlen(s1)记数函数直到出现\0是停⽌记数;则输出结果是( B )A.4B. 5C. 9D. 1011.以下程序段中内循环体总的执⾏次数是( A )for(i=5;i>=1;i--)for(j=0;j<4;j++){…}A.20B.24C.25D.3012.语句b=3+a--;表达式的功能,可以由下⾯的(C)的两个语句来实现。
C语言复习资料 (1)
![C语言复习资料 (1)](https://img.taocdn.com/s3/m/9742e264561252d380eb6ebc.png)
C语言复习资料一、C语言基础知识1. C语言的主要特点有哪些?(多选) ACDEA.简洁、紧凑,使用方便、灵活,易于学习和应用。
B.C语言是面向结构化程序设计的语言。
C.C语言允许直接对位、字节和地址进行操作。
D.数据类型丰富。
E.C语言生成的目标代码质量高。
2. C语言程序由什么组成?(单选) CA. 子程序B. 主程序和子程序C. 函数D. 过程3. 源程序要正确地运行,必须要有什么函数?(单选) CA. printf函数B. 自定义的函数C. main函数D. 不需要函数4. 指出下面合法的标识符:(多选) C D E GA. 3abB. intC. ABCD. a_3E. sum.aF. #abcG. _stu2H. abc f5. 指出下面哪些是合法的用户定义的标识符?(多选) D GA. P-SB. putcharC. doubleD. _908E. *parF. sheep!G. windH. x y6. C语言的基本类型哪些:(多选)A BE GA. 整型B. 枚举型C. 数组型D. 指针型E. 字符型F. 构造型G. 实形H. 空类型7. 这段程序中的常量有:(多选) A C D EF#define PI 3.14void main(){int sum;sum = 10 + 15;printf("sum=%d\n",sum);printf("result is 25\n");}这段程序中常量有:A. 10B. sumC. 15D. 25E. mainF. PI8. C语言中整形常量按进制划分,有以下几种:(多选)A B CA. 十六进制常量B. 十进制常量C. 八进制常量D. 二进制常量9. 75的十六进制写法为_0x4B__,八进制写法为_0113__。
0x75的八进制写法为_0165__,十进制写法为_117__。
075的十进制写法为__61_,十六进制写法为__0X3D_。
C语言复习题 (1)
![C语言复习题 (1)](https://img.taocdn.com/s3/m/06ada02110661ed9ad51f39e.png)
A. a/b/c*e*3
B. 3*a*e/b/c
C. 3*a*e/b*c
D. a*e/c/b*3
10. 在 C 语言中,要求运算数必须是整型的运算符是( )。
A. /
B. ++
C. !=
D. %
11. 若 x、i、j 和 k 都是 int 型变量,则执行下面表达式后 x 的值为( )。
x=(i=4,j=16,k=32)
scanf(“%d%d”,&a1,&a2);
scanf(“%c%c”,&c1,&c2);
A. 1020AB<回车>
B. 10 20<回车>AB<回车>
C. 10 20 AB<回车>
D. 10 20AB<回车>
21. 有输入语句:scanf(“%d%d%d”,&a,&b,&c);为使变量 a 的值为 1,b 为 3,
44. 以下程序的输出结果是( )。
main()
{
int x=2,y=-1,z=2;
if(x<y)
if(y<0) z=0;
else z+=1;
printf(“%d\n”,z);
}
A. 3
B. 2
C. 1
D. 0
45. 以下不正确的语句为( )。
A. if(x=y)&&(x!=0) x+=y;
B. if(x!=y) scanf(“%d”,&x); else scanf(“%d”,&y);
考试题型: 单项选择:1*40=40 分 填空题: 2*5=10 分 读程序:2*10=20 分 程序填空:2*10=20 分 编写程序:10 分(4+6)
《C语言程序设计》复习题库(1)
![《C语言程序设计》复习题库(1)](https://img.taocdn.com/s3/m/181aa07e7fd5360cba1adbcf.png)
复习题库
当n=5时
93.有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它
插入到数组中。
94.将一个数组中的值按逆序重新存放。
例如,原来顺序为8,6,5,4,1。
要求
改为1,4,5,6,8
95.编程先输入某班10个学生某门课的成绩(成绩均为float型数据),
对全班10个学生成绩进行由高到低排序,并打印输出排序结果。
96.从键盘任意输入某班10个学生的成绩,输出最高分并统计出不及格
人数。
97.写一个判断素数的函数,在主函数输入一个整数,输出是否为素数的
信息
98.编写函数实现两个整型变量值的交换。
99.用递归调用的方法求n!,要求n由用户输入。
100.从键盘任意输入10个整数并放入一个数组,用函数编程实现将其中最大数与最小数的位置对换后,再输出调整后的数组。
101.写一个函数,使给定的一个3X3的二维整形数组转置,即行列互换102.写一个函数,将两个字符串连接
103.写一个函数,使输入的一个字符串按反序存放。
104.输入两个实数,用一个函数求出它们之和。
105.有一个一维数组score,内放10个学生成绩,写一个函数求平均成绩。
106.输出所得水仙花数,所谓水仙花数是指一个数3位数,其各各位数字立方和等于其本身, 例如: 153 = 1*1*1 + 3*3*3 + 5*5*5。
(完整版)C语言考试题库及答案
![(完整版)C语言考试题库及答案](https://img.taocdn.com/s3/m/a6d70df7dbef5ef7ba0d4a7302768e9951e76ed9.png)
(完整版)C语言考试题库及答案一、选择题1. 以下哪个选项是C语言的合法标识符?A. intB. 2abcC. voidD. a+b答案:C2. 在C语言中,下列哪个选项是正确的数据类型?A. floatB. integerC. doubleD. All of the above答案:D3. 若变量定义如下:int a = 5;,则执行语句printf("%d", a++); 后,a的值是多少?A. 4B. 5C. 6D. 无法确定答案:C4. 以下哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()答案:A5. 在C语言中,哪个运算符用于取模(取余)?A. %B. /C. &D. |答案:A以下是判断题部分:6. C语言中的数组名可以作为指向该数组首元素的指针使用。
()答案:正确7. 在C语言中,结构体变量可以作为函数的参数传递。
()答案:正确8. 在C语言中,静态存储类别的变量在程序运行期间始终占据内存空间。
()答案:正确二、填空题9. 在C语言中,定义一个整型变量需要使用关键字______。
答案:int10. 若变量定义如下:int a = 10;,则执行语句printf("%d", a--); 后,a的值是______。
答案:911. 在C语言中,用于动态分配内存的函数是______。
答案:malloc12. 在C语言中,用于释放动态分配的内存的函数是______。
答案:free13. 在C语言中,用于清空标准输入缓冲区的函数是______。
答案:getchar()三、编程题14. 编写一个C语言程序,实现以下功能:输入一个整数,输出它的阶乘。
答案:```c#include <stdio.h>int main() {int n, i;long factorial = 1;printf("Enter an integer: ");scanf("%d", &n);if (n < 0) {printf("Factorial of a negative number doesn't exist.\n");} else {for (i = 1; i <= n; i++) {factorial = i;}printf("Factorial of %d is %ld\n", n, factorial);}return 0;}```15. 编写一个C语言程序,实现以下功能:输入一个字符串,判断它是否是回文(正读和反读都一样的字符串)。
《C语言程序设计》复习题有答案1
![《C语言程序设计》复习题有答案1](https://img.taocdn.com/s3/m/18f73c18b80d6c85ec3a87c24028915f814d8441.png)
《C语言程序设计》复习题有答案1《C语言程序设计》复习题一、填空题1、 C 语言的源程序必须通过编译和链接后,才能被计算机执行。
2、 C 语言的源程序必须通过编译和连接后,才能被计算机执行。
3、C语言中的标示符可分为关键字、拥护标示符和预定义标识符3类。
4、C语言中的标示符可分为关键字、用户标识符和预定义标示符3类。
5、在C语言中,用关键字 float 定义单精度实型变量。
6、在C语言中,用关键字 double 定义双精度实型变量。
7、在C语言中,用关键字 char 定义字符型变量。
8、在C语言的赋值表达式中,赋值好左边必须是变量。
9、设C语言中的一个int型数据在内存中占2个字节,则int型数据的取值范围为-32768--32768 。
10、若有定义语句:int s=6;则表达式s%2+(s+1)%2的值为 1 。
11、若a是int型变量,且a的初值为6,则执行表达式a+=a-=a*a后a的值为-60 。
12、若a是int型变量,则执行表达式a=25/3%3后a的值为 2 。
13、在程序运行过程中,其值不能被改变的量称为常量。
14、C程序中定义的变量,代表内存中的一个存储单元。
15、C语言中,int类型数据字符占内存 2 个字节。
16、C语言中,char类型数据占内存 1 个字节。
17、C语言的字符常量是用单引号括起来的一个字符。
18、语句printf(“\n”);的作用是换行输出。
19、10/3的结果是3 。
20、10%3的结果是 1 。
21、C语句的最后用;结束。
22、要使用putchar函数,在#include命令行中应包含的头文件是#include。
23、要使用getchar函数,在#include命令行中应包含的头文件是#include。
24、为表示关系|x|≥9;应使用的C语言表达式是x<=-9 || x>=9 。
25、为表示关系|x|≤9;应使用的C语言表达式是x>=-9&&x<=9 。
c语言复习1(计算机二级)
![c语言复习1(计算机二级)](https://img.taocdn.com/s3/m/f2a578f2941ea76e58fa0463.png)
1.下面关于C语言的叙述中,正确的是()。
(A) 每行只能写一条语句(B) 程序中必须包含有输入语句(C) main函数必须位于文件的开头(D) 每条语句最后必须有一个分号2.C语言的函数体由()括起来。
(A) ()(B) { } (C) [ ] (D)/* */3.下列不属于C语言关键字的是()。
(A) continue (B) integer (C) static (D) signed4.下面关于C语言变量的叙述中,错误的是()。
(A) 可以用const关键字定义变量(B) 在C程序中,SUM和sum是不同的变量(C) 变量名必须由字母或下划线开头(D) 变量的类型确定了变量的取值范围5.若有定义:int a=2; 则正确的赋值表达式是()。
(A) a-=(a*3) (B) a=double(-a) (C) a*3 (D) a*4=36.若已定义:int a=2,b=2; 则表达式(a+(b++), b) 的值是()。
(A) 2 (B) 3 (C) 4 (D) 67.若有定义:int i=7,j=8;则表达式i>=j||i<j 的值为()。
(A) 1 (B) 变量i的值(C) 0 (D) 变量j的值8.以下程序段的运行结果是()。
int a=1;printf("%d, %d, %d\n", a, ++a, a++);(A) 3,3,1 (B) 1, 2, 2 (C) 1, 2, 3 (D) 3, 2, 19.若有定义:int a=20,b=28,c;则执行语句c=(a^b)<<2;后c的值为()。
(A) 2 (B) 5 (C) 32 (D) 9210.以下程序的运行结果是()。
void main(){ int n='e';switch(n--){ default: printf("error ");case 'a':case 'b': printf("good "); break;case 'c': printf("pass ");case 'd': printf("warn ");}}(A) error (B) good (C) error good (D) warn 11.以下程序的运行结果是()。
C语言考试复习专用三套题附答案(1)
![C语言考试复习专用三套题附答案(1)](https://img.taocdn.com/s3/m/f6b594d91eb91a37f0115ca9.png)
《C语言程序设计》习题集习题一一、语言基础(共20分,每题2分)(二)说明语句char s=‘\t’,使s包含了几个字符?。
A)1 B)2 C)3 D)说明有错(三)设a=6,b=4,则表达式b*=a+3A)3 B)18 C)(四)若给定表达式(m)?a++:a--和等价。
A)m==0 B)m!=0 C)m=0 D)m=1(五)设有说明语句int a[10],则数组a包括了个数组元素。
A)1 B)9 C)10 D)20(六)以下函数test返回值类型为。
test(int x){ printf(“%f\n”,(float)x);}A)int B)float C)void D)不确定或错误二、阅读下列程序,写出运行结果(共18分,每题3分)[程序1]#include <stdio.h>void main( ){ int a=1,b=4,c=2; 运行结果: 1a=(a+b)/c;printf(“%d \n”,--a);}[程序2]void main ( ){ char c1=67; /*‘A’的ASCII码值为65 */if (‘A’ <=c1 && c1<=’Z’) 运行结果: 67,Dprintf(“%d,%c”,c1,c1+1);else printf(“%c”,c1); }[程序3]viod main ( ){ int a=0, n=5; 运行结果: 1,5,4,3,2,0for ( ; ; ){ a++; n--;printf(“%d,”,a);a=n;if (n==0) break;}printf(“%d”,a);}[程序4]main ( ){ int i, j; 运行结果: 1,2,4,8,16,32,64,128,256,512 static int a[10]={1,1,1,1,1,1,1,1,1,1};for (i=0;i<10;i++)for (j=0;j<i;j++)a[i]=a[i]+a[j];for (i=0;i<10;i++)printf(“%d,”,a[i]);}[程序5]int k=2;f (int m) 运行结果: 6,8{ m+=k;k+=m; 5,9printf(“%d,%d \n”,m,k++);}main ( ){ int i=4;for (i++);printf(“%d,%d \n”,i,k); }[程序6]void main ( ){ static int a[10],i; 运行结果: 1 3 5 7 9for (i=0;i<10;i++)a[i]=i+1;for (i=0;i<10;i=i+2)printf(“%d”,*(a+i));}三、阅读分析下列程序,在处填上适当的内容使程序(或函数)完整(共21分,每空3分)(一)以下程序输出所有大写字母和其对应的ASCII码值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C程序设计复习题1一、选择题1.组成C程序的基本单位是________。
A)表达式与语句B)若干文件C)函数D)main函数2.C程序中能直接让机器执行的文件是____C____。
A)编辑后的.c源文件B)通过编译的.obj文件C)通过连接的.exe文件D)正在编辑的源文件存盘为后缀为.exe的文件3.有关以下函数的哪些说法是正确的________。
int add( int x;int y){ z=x+y;return z; }A)此函数能单独运行B)此函数存在语法错误C)此函数通过main函数能调用D)此函数没有语法错误4.在C语言中,正确的int类型的常数是________。
A)-2U B)059 C)3a D)0xAF 5.下列变量定义正确的是________。
A)int x_1 ; y;B)int x=y=5 ;C)int for=4;D)int printf=2,x_y=2;6.下列数据中,为字符的是________。
A)'AB' B)"A" C)How D)'A'+2 7.有程序段如下,不能表示为地址的是________。
int x=2,*p;p=&x;x=x+1;A)&x B)p C)&p D)x8.下列表达式没有错误的是________。
int x,*p;A)5.0%2 B)x+1=5 C)&x D)&(x+1)9.下列错误的语句是________。
A)int k,*p=&k; scanf(“%d”,&k);B)int k,*p=&k; scanf(“%d”,p);C)int k,*p; *p=&k; scanf(“%d”,p);D)int k,*p ; p=&k; scanf(“%d”,p);10.任何复杂的程序,都是由________构成的。
A)分支结构、顺序结构、过程结构B)循环结构、分支结构、过程结构C)顺序结构、循环结构、分支结构D)循环结构、分支结构11.以下说法中正确的是________。
A)C程序总是从第一个定义的函数开始执行B)在C程序中,要调用的函数必须在main函数中定义C)C程序总是从main函数开始执行的D)C程序中的main函数必须放在程序的开始部分12.在C语言类型说明中,int、char、short等类型的长度是__B______。
A)由用户自己定义的B)与机器字长有关的C)固定的D)任意的13.以下字符中,不正确的C语言转义字符分别是________。
A)‘\\’B)‘011’C)‘\’’D)‘\xaa’14.以下选项中,合法的C语言关键字是________。
A)integer B)Char C)short D)Long15.若一个外部变量的定义形式为static int x ; 其中static的作用是___D_____。
A)将变量存放在静态存储区,使x的值可以永久保留B)使变量x可以由系统自动初始化C)使x只能在本文件内引用D)使x的值可以永久保留16.若a为整型变量,则以下语句________。
a=-2;printf (“%d\n”,a);A)赋值不合法B)输出值为-2C)输出为不确定值D)输出值为2 17.若有说明语句:int y[][4]={0,0,0,0,0,0}; 则正确的叙述是________。
A)数组y的每个元素都可得到初值0B)二维数组y的行数为1C)该说明等价于int y[0][4]={0};D)有元素y[0][0]至y[0][5]可得到初值,其余元素均得不到初值018.若short int 类型数据占两个字节,则下列语句的输出为___D_____。
int k=-1;printf(“%d,%u\n”,k,k); (%u 表示以无符号数输出,考察二进制知识) A)-1,-1 B)-1,32767 C)-1,32768 D)-1,6553519.已知:char a; int b; float c; double d; 执行语句c=a+b+c+d;后,变量c的数据类型是___D_____。
A)int B)char C)double D)float20.假设定义变量如下:int x;float y;以下输入语句中________是正确的。
A)scanf(“%f%f”,&y,&x); B)scanf(“%f%d”, y, x);C)scanf(“%f%d”,&y,&x);D)scanf(“%5.2f%2d”,&y,&x);21.若有以下变量说明和数据的输入方式,则正确的输入语句为________。
变量说明:float x1,x2;数据的输入方式:4.52<回车>3.5<回车>A)scanf(“%f,%f”,&x1,&x2); B)scanf(“%f%f”,&x1,&x2);C)scanf(“%3.2f,%2.1f”,&x1,&x2); D)scanf (“%3.2f%2.1f”,&x1,&x2);22.若变量已正确定义,与语句 if(a>b)k=0;else k=1;等效的是________。
A)k=(a>b)?1:0? B)k=a>b;C)k=a<=b;D)a<=b?0:1;23.若有定义:int x,*pb;则正确的赋值表达式是________。
A)pb=&x B)pb=x C)*pb=&x D)*pb=*x24.已知:int a,*p=&a; 则为了得到变量a的值,下列错误的表达式为________。
A)p[0] B)*p C)&*a D)*&a25.在C语言中,引用数组元素时,其数组下标的数据类型允许是________。
A)整型常量B)整型表达式C)整型常量或整型表达式D)任何类型的表达式26.若有定义:int b[5];则以下对b 数组元素的正确引用是________。
A)*&b[5] B)b+2C)*(*(b+2))D)*(b+2)27.设有定义语句“char s[]=”123”;”,则表达式“s[3]”的值是________。
A)’1’B)’3’C)’\0’D)语法出错28.语句if (!i ) i++; 中的条件表达式 !i 等价于___A_____。
A)i==0 B)i!=1 C)i!=0 D)-i29.设有int x,y; 以下语句判断x和y是否相等,正确的说法是该语句________。
if (x=y) printf(" x is equal to y.");A)语法错B)不能判断x和y是否相等C)编译出错D)能判断x和y是否相等30.C语言中规定,if语句的嵌套结构中,else总是与________配对。
A)与最近的if 配套B)与第一个if 配套C)按缩进位置相同的if配套D)与最近的且尚未配对的if 配套31.以下有关switch语句的正确说法是________。
A)break语句是语句中必须的一部分B)在switch 语句中可以根据需要使用或不使用break语句C)break语句在switch 语句中不可以使用D)在switch 语句中的每一个case都要用break语句33.当执行以下程序时,________。
#include<stdio.h>void main(){int a;while(a=5)printf("%d ",a--);}A)循环体将执行5次B)循环体将执行0次C)循环体将执行无限次D)系统会当机。
34.以下函数的类型是________。
int sum(double x, double y){double s;s=x+y;return s;}A)字符型B)不确定C)整型D)实型35.以下叙述不正确的是___A_____。
A)一个C源程序文件必须包含一个main( )函数B)一个C源程序文件可由一个函数组成C)一个C源程序文件是一个编译单位D)一个C源程序文件可由多个函数组成注意:若要执行则必须包含一个main()函数36.若用数组名作为函数调用时的参数,则实际上传递给形参的是________。
A)数组元素的个数B)数组的第一个元素值C)数组中全部元素的值D)数组首地址37.一个共用体变量所占内存是________。
A)该共用体第一个成员所占的内存量B)该共用体最后一个成员所占的内存量C)该共用体占内存最多成员所占的内存量D)该共用体所有成员所需内存量的总和38.C语言中结构体类型变量在程序执行期间________。
A)所有成员一直驻留在内存中B)只有一个成员驻留在内存中C)部分成员驻留在内存中D)没有成员驻留在内存中39.简单变量做实参时,实参与其对应的形参之间的数据传递方式是________。
A)双向值传递方式B)地址传递方式C)单向值传递方式D)用户指定传递方式40.C语言允许函数值类型的缺省定义,此时该函数值隐含的类型是________。
A)long 型B)float 型C)double型D)int型41.以下叙述正确的是________。
A)函数的定义和函数的调用均不可以嵌套B)函数的定义和函数的调用均可以嵌套C)函数的定义可以嵌套,但函数的调用均不可以嵌套D)函数的定义不可以嵌套,但函数的调用均可以嵌套42.如果在一个函数中的复合语句中定义一个变量,以下正确的叙述是________。
A)该变量在该函数中有效B)该变量只在该复合语句中有效C)该变量为不合法的变量D)该变量在本程序范围内有效43.凡是在函数中未指定存储类别的局部变量,其隐含的存储类别是__C___。
A)静态(static)B)外部(extern)C)自动(auto)D)寄存器(register)44.若有定义char x[ ]= "12345"; char y[ ]={ '1', '2', '3', '4', '5'};则。
A)x数组与y数组的长度相同B)x数组长度大于y的长度C)x 数组长度小于y数组长度D)x数组等价与y 数组45.若在一个C源程序文件中定义了一个允许其他源文件引用的实型外部变量x,则在另一文件中可以使用的引用说明是________。
A)extern float x; B)float x;C)extern auto float x; D)extern static float x;46.以下有关宏替换的叙述不正确的是___A_____。