C语言初学者习题 (4)
- 格式:pdf
- 大小:308.28 KB
- 文档页数:6
目录第1-3章C语言基础知识习题 (2)1 选择题 (2)2 填空题 (7)3 答案及部分解析 (9)第4章选择结构习题 (11)1 选择题 (11)2 填空题 (17)3 答案及部分解析 (23)第5章循环结构习题 (26)1 选择题 (26)2 填空题: (32)3 答案及部分解题分析 (39)第6章数组习题 (41)1. 单项选择题 (41)2. 填空题 (44)3. 判断题 (45)4. 程序填空题 (45)5. 阅读程序,分析程序的功能。
(49)第7章函数习题 (55)1. 单项选择题 (55)2. 填空题 (56)3. 判断题 (57)4. 程序填空题 (58)5. 写出下列程序运行结果 (59)第8章指针习题 (67)1 选择题 (67)2 填空题 (69)第1-3章C语言基础知识习题1 选择题1. 以下不是C语言的特点的是()。
A、语言简洁紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件操作D、C语言移植性好2.下列字符序列中,不可用作C语言标识符的是()。
A.abc123 B.no.1 C._123_ D._ok3.正确的C语言标识符是()。
A._buy_2 B.2_buy C.?_buy D.buy?4. 请选出可用作C语言用户标识符的一组标识符()。
A.void B.a3_b3 C.For D.2adefine _123 -abc DOWORD IF Case sizeof5. 下列符号中,不属于转义字符的是()。
A.\\ B.\0xAA C.\t D.\06.不属于C语言关键字的是()。
A.int B.break C.while D.character7.是C语言提供的合法关键字的是()。
A.Float B.signed C.integer D.Char8.以下不能定义为用户标示符的是()。
A.scanf B.V oid C._3com_ D.int9.一个C程序是由()。
第一部分C语言理论基础(4) 结构化程序由三种基本结构组成,三种基本结构组成的算法A) 可以完成任何复杂的任务B) 只能完成部分复杂的任务C) 只能完成符合结构化的任务D) 只能完成一些简单的任务(7) 以下叙述中正确的是A) C语言比其他语言高级B) C语言可以不用编译就能被计算机识别执行C) C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D) C语言出现的最晚,具有其他语言的一切优点第二部分C语言基本语法知识(2)以下叙述中错误的是A)C语句必须以分号结束B)复合语句在语法上被看作一条语句C)空语句出现在任何位置都不会影响程序运行D)赋值表达式末尾加分号就构成赋值语句(4)以下能正确定义且赋初值的语句是A)int n1=n2=10;B)char c=32;C)float f=f+1.1;D)double x=12.3E2.5;(5)设有定义:int k=1,m=2; float f=7;,则以下选项中错误的表达式是A)k=k>=k B)-k++ C)k%int(f) D)k>=f>=m(6)有以下程序段int k=0,a=1,b=2,c=3;k=a<b ? b:a; k=k>c ? c:k;执行该程序段后,k的值是A)3 B)2 C)1 D)0(8).以下不能定义为用户标识符的是A)MainB)_0C)_intD)sizeof(11)若整型变量a、b、c、d中的值依次为:1、4、3、2。
则条件表达式a<b?a:c<d?c:d的值A)1 B)2 C)3 D)4(15) 以下4组用户定义标识符中,全部合法的一组是A) _main B) If C) txt D) intenclude -max REAL k_2sin turbo 3COM _001(24)下列关于单目运算符++、--的叙述中正确的是A) 它们的运算对象可以是任何变量和常量B) 它们的运算对象可以是char型变量和int型变量,但不能是float型变量C) 它们的运算对象可以是int型变量,但不能是double型变量和float型变量D) 它们的运算对象可以是char型变量、int型变量和float 型变量(26) 以下选项中合法的用户标识符是A) long B) _2Test C) 3Dmax D) A.dat(27) 以下非法的赋值语句是A) n=(i=2,++i); B)j++; C) ++(i+1); D)x=j>0;(28) 设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是A)6.500000B)6C) 5.500000D) 6.000000(33) 以下选项中不属于C语言的类型的是A) signed short intB) unsigned long intC) unsigned intD) long short(34) 以下叙述正确的是A) 可以把define和if定义为用户标识符B) 可以把define定义为用户标识符,但不能把if定义为用户标识符C) 可以把if定义为用户标识符,但不能把define定义为用户标识符D) define和if都不能定义为用户标识符(35) 在C语言中,合法的长整型常数是A) 0LB) 4962710C) 324562&D) 216D(37) 假定x和y为double型,则表达式x=2,y=x+3/2的值是A) 3.500000B) 3C) 2.000000D) 3.000000(38) 以下合法的赋值语句是A) x=y=100B) d--;C) x+y;D) c=int(a+b);(40) 以下程序的输出结果是main(){ int a=3;printf(“%d\n”,(a+a-=a*a) );}A) –6B)12C) 0D) –12(41) 以下所列的C语言常量中,错误的是A) 0xFFB) 1.2e0.5C) 2LD) ‘\72’(42) 下列选项中,合法的C语言关键字是A) VARB) cherC) integerD) default(47) 若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是A) 1 B) 2 C) 2.0 D) 2.5(48) 若变量a、iI已正确定义,且i已正确赋值,合法的语句是A) a==1 B) ++i; C) a=a++=5; D) a=int(i); (49) 若有以下程序段,int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是A) 0 B) 0.5 C) 1 D) 2(50) 设有int x=11; 则表达式(x++ * 1/3) 的值是A) 3 B) 4 C) 11 D) 12(51) 下列程序的输出结果是A) 3 B) 3.2 C) 0 D) 3.07main(){ double d=3.2; int x,y;x=1.2; y=(x+3.8)/5.0;printf("%d \n", d*y);}(52) 下列变量定义中合法的是A) short _a=1-.le-1;B) double b=1+5e2.5;C) long do=0xfdaL;D) float 2_and=1-e-3;(53) 以下选项中属于C语言的数据类型是A) 复数型B) 逻辑型C) 双精度型D) 集合型(62) C语言提供的合法的数据类型关键字是A) Double B) short C) integer D) Char(73) C语言程序的基本单位是A) 程序行B) 语句C) 函数 D) 字符(5) 设a、b、c为整型数,且a=2、b=3、c=4,则执行完以下语句:a*=16+(b++)-(++c);后,a的值是【5】。
第8章函数单选题:1、下列程序执行后输出的结果是#include 〈stdio.h〉f(int a){ int b=0;int c=3;a=c+ +,b+ +;return(a);}main( ){ int a=2,i,k;for(i=0;i〈2;i+ +)k=f(a+ +);printf("%d\n",k);}A.3B.0C.1D.4学生答案: A参考答案: A2、在一个C源程序文件中,若要定义一个只允许本源文件中所用的函数的全局变量,则变量需要使用的存储类别是____A.AutoB.staticC.registerD.extern学生答案: C参考答案: B3、下面程序的输出是int m=13;int fun2(int x,int y){ int m=3;return(x*y-m);}main(){ int a=7,b=5;printf("%d\n",fun2(a,b)/m);}B.2C.7D.10学生答案: B参考答案: B4、以下程序运行后,输出结果是func(int a,int b){ static int m=0,i=2;i+=m+1;m=i+a+breturn(m);}main(){ int k=4,m=1,p;p=func(k,m);printf("%d\n",p);p=func(k,m);printf("%d\n",p);}A.8,15B.8,16C.8,17D.8,8学生答案:参考答案: C5、以下程序的输出结果是int d=1;fun(int p){ d = d+p;printf("%d ",d);return(d);}main( ){int a=3;printf("%d \n",fun(a+fun(d)));}A. 2 6B. 1 7 7C. 2 7 7学生答案: C参考答案: C6、C语言中,调用一个函数时,实参变量和形参变量之间的数据传递是____.A.单纯值传递B.单纯地址传递C.值传递和地址传递都有可能D.由实参传给形参,然后由形参传回给实参,即是双向传递学生答案: B参考答案: A7、下列说法正确的是________.A.调用函数时,实参与形参可以共用内存单元B.调用函数时,实参的个数、类型和顺序与形参可以不一致C.调用函数时形参可以是表达式D.调用函数时,将为形参分配内存单元学生答案: D参考答案: D8、C语言程序由函数组成。
第五章选择结构程序设计5.1 选择题【题5.1】逻辑运算符两侧运算对象的数据类型。
A)只能是0或1B)只能是0或非0正数C)只能是整型或字符型数据D)可以是任何类型的数据【题5.2】以下关于运算符优先顺序的描述中正确的是。
A)关系运算符<算术运算符<赋值运算符<逻辑与运算符B)逻辑与运算符<关系运算符<算术运算符<赋值运算符C)赋值运算符<逻辑与运算符<关系运算符<算术运算符D)算术运算符<关系运算符<赋值运算符<逻辑与运算符【题5.3】下列运算符中优先级最高的是。
A)< B)+ C)&& D)!=【题5.4】能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是。
A)(x>=1)&&(x<=10)&&(x>=200)&&(x<=210)B)(x>=1)||(x<=10)||(x>=200)||(x<=210)C)(x>=1)&&(x<=10)||(x>=200)&&(x<=210)D)(x>=1)||(x<=10)&&(x>=200)||(x<=210)【题5.5////////Xa b cA)(x<=a)&&(x>=b)&&(x<=c)B)(x<=a)||(b<=x<=c)C)(x<=a)||(x>=b)&&(x<=c)D)(x<=a)&&(b<=x<=c)【题5.6】判断char型变量ch是否为大写字母的正确表达式是。
A)‘A’<=ch<=‘Z’B)(ch>=‘A’)&(ch<=‘Z’)C)(ch>=‘A’)&&(ch<=‘Z’) D)(‘A’<=ch)AND(‘Z’>=ch)【题5.7】设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是。
一、单项选择题(共20小题;每小题1分,共20分)
1、一个C语言程序由()组成。
A.子程序B.过程C.函数D.主程序
2、若以下选项中的变量已正确定义,则正确的赋值语句是()。
A.x1=26.8%3 B.1+2=x2 C.x3=0x12 D.x4=1+2=3;
3、以下符合C语言语法的实型常量是()。
A.1.2E0.5 B.3.14159E C.E15 D.0.5E-3
4、以下不能正确表示代数式2ab/(cd) 的C语言表达式是()。
A.2*a*b/c/d B.a*b/c/d*2 C.a/c/d*b*2 D.2*a*b/c*d
5、设有定义:int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是()。
A.k++ B.k+=1 C.++k D.k+1
6、若有以下函数首部int fun(double x[10],int *n)则下面针对此函数声明语句中正确
的是()。
A.int fun(double x,int *n); B.int fun(double ,int);
C.int fun(double*x,int n); D.int fun(double *,int*);
7、若i为整型变量,则以下循环体执行次数是()。
for(i=2;i==0;) printf("%d",i--);
A.无限次 B. 0次 C. 1次 D. 2次
南京工程学院试卷共8 页第2 页
南京工程学院试卷共8页第6 页。
习题四选择结构程序设计1. 设变量x和y均已正确定义并赋值。
以下if语句中,在编译时将产生错误信息的是______。
A、if(x++);B、if(x>y && y!=0);C、if(x>0) x--D、if(y<0) {;}else y++; else x++;解析:本题考查的是if语句。
if后表达式两侧的圆括号不可少,最后是一条语句或是用花括号括起来的一组语句。
选项A和B是在表达式后跟了一条空语句,选项D是在表达式后跟了一组空语句,选项C中x--是表达式而不是语句,所以在编译时会出现错误信息。
故本题答案选C。
2. 有以下程序main(){ int i;for(i=1;i<=40;i++){ if(i++%5==0)if(++i%8==0) printf ("%d",i);}printf("\n"); }执行后的输出结果是______。
A、5B、24C、32D、40解析:本题考查的是if语句的应用。
在满足for 语句条件下,第一个if语句的条件是指i先对5取余后,再自行加1;第二个if语句的条件是指:i=i+1后,再对8取余。
故本题答案选C。
3. 在嵌套使用if语句时,C语言规定else总是______。
A、和之前与其具有相同缩进位置的if配对B、和之前与其最近的if配对C、和之前与其最近的且不带else的if配对D、和之前的第一个if配对解析:本题考查的是if语句的使用规则。
在嵌套使用if语句时,C语言规定else总是和之前与其最近的且不带else的if配对。
故本题答案为C。
4. 有以下程序main(){ int i=1,j=2,k=3;if(i++==1&&(++j==3||k++==3))printf("%d %d %d\n",i,j,k); }程序运行后的输出结果是______。
c语言编程题入门题库及详解答案C语言编程题入门题库及详解答案1. 编写一个C程序,实现输入两个整数,输出它们的和。
```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("它们的和是:%d\n", sum);return 0;}```2. 编写一个C程序,实现输入一个字符,判断它是大写字母、小写字母还是其他字符。
```c#include <stdio.h>int main() {char ch;printf("请输入一个字符:");scanf("%c", &ch);if (ch >= 'A' && ch <= 'Z') {printf("这是一个大写字母。
\n");} else if (ch >= 'a' && ch <= 'z') {printf("这是一个小写字母。
\n");} else {printf("这不是字母。
\n");}return 0;}```3. 编写一个C程序,实现输入三个整数,找出最大值并输出。
```c#include <stdio.h>int main() {int a, b, c, max;printf("请输入三个整数:");scanf("%d %d %d", &a, &b, &c);max = a;if (b > max) max = b;if (c > max) max = c;printf("最大值是:%d\n", max);return 0;}```4. 编写一个C程序,实现输入一个整数,判断它是否为素数。