C语言程序设计练习题整理.docx

上传人:b****7 文档编号:25545766 上传时间:2023-06-09 格式:DOCX 页数:21 大小:24.55KB
下载 相关 举报
C语言程序设计练习题整理.docx_第1页
第1页 / 共21页
C语言程序设计练习题整理.docx_第2页
第2页 / 共21页
C语言程序设计练习题整理.docx_第3页
第3页 / 共21页
C语言程序设计练习题整理.docx_第4页
第4页 / 共21页
C语言程序设计练习题整理.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

C语言程序设计练习题整理.docx

《C语言程序设计练习题整理.docx》由会员分享,可在线阅读,更多相关《C语言程序设计练习题整理.docx(21页珍藏版)》请在冰豆网上搜索。

C语言程序设计练习题整理.docx

C语言程序设计练习题整理

第1章C语言初步

一、选择题:

1、C语言是在()语言的基础上产生的。

A.AB.BC.DD.E

2、在C语言中,每个语句必须以()结束。

A.回车符B.冒号C.逗号D.分号

3、标识符和关键字间,要用()隔开。

A.回车符B.冒号C.空格D.分号

4、以下不是C语言的特点的是()

A.C语言简洁、紧凑

B.能够编制出功能复杂的程序

C.C语言可以直接对硬件进行操作

D.C语言移植性好

5、以下不正确的C语言标识符是()。

A.ABCB.abcC.a_bcD.ab.c

6、以下正确的c语言标识符是()。

A.%xB.a十bC.a123D.test!

7、一个c程序的执行是从().

A.main()函数开始,直到main()函数结束

B.第一个函数开始,直到最后一个函数结束

C.第一个语句开始,直到最后一个语句结束

D.main()函数开始,直到最后一个函数结束

8、一个c程序是由()。

A.一个主程序和若干子程序组成

B.一个或多个函数组成

C.若干过程组成

D.若干子程序组成

9、编辑程序的功能是()。

A.建立并修改程序B.将c源程序编译成目标程序

C.调试程序D.命令计算机执行指定的操作

10、用C语言编写的源文件经过编译,若没有产生编译错误,则系统将()。

A.生成可执行目标文件B.生成目标文件

C.输出运行结果D.自动保存源文件

11、下列说法中正确的是()。

A.由于C源程序是高级语言程序,因此一定要在TC软件中输入

B.由C源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入

C.由于C程序是高级语言程序,因此输入后即可执行

D.由于C程序是高级语言程序,因此它由命令组成

12、C语言程序的基本单位是()。

A.过程B.函数C.子程序D.标识符

13、下列说法中正确的是()。

A.C语言程序由主函数和0个或多个函数组成

B.C语言程序由主程序和子程序组成

C.C语言程序由子程序组成

D.C语言程序由过程组成

14、下列说法中错误的是()。

A.主函数可以分为两个部分:

主函数说明部分和主函数体

B.主函数可以调用任何非主函数的其他函数

C.任何非主函数可以调用其他任何非主函数

D.程序可以从任何非主函数开始执行

二、填空题

1、C语言是一种“______”,既具有______的特点又具有______的特点;既适合于开发______又适合于编写______。

2、在C语言中,输入操作是由库函数完成的,输出函数是由库函数______完成的。

3、C程序的基本单位是______。

4、每个源程序有且只有一个______函数,系统总是从该函数开始执行C语言程序。

5、C语言的程序中有特殊含义的英语单词称为______。

6、C语言中,标识符的定义规则是______。

7、C语言程序的注释可以出现在程序中的任何地方,它总是以______符号作为开始标记,以______符号作为结束标记。

三、程序设计题

1.编写一个C语言应用程序,其功能是显示以下图形。

#

##

###

####

#####

2.编写C语言程序,运行后输出以下信息。

**************************

欢迎进入C语言的天地!

**************************

3.编写一个程序,在屏幕上输出你的姓名。

 

第2章数据类型、运算符与表达式

一、选择题:

1、下列数据中属于“字符串常量”的是()

A.ABCB.“ABC”C.‘abc’D.‘a’

2、在PC机中,’\n’在内存占用的字节数是()

A.1B.2C.3D.4

3、字符串”ABC”在内存占用的字节数是()

A.3B.4C.6D.8

4、在C语言中,合法的长整形常数是()

A.0LB.7654321C.0.07654321D.2.3456e10

5、char型常量在内存中存放的是()

A.ASCII值B.BCD码值

C.内码值D.十进制代码值

6、设m,n,a,b,c,d均为0,执行(m=n==b)||(n=c==d)后,m,n的值是()

A.0,0B.0,1C.1,0D.1,1

7、设a为5,执行下列语句后,b的值不为2的是()

A.b=a/2B.b=6-(--a)C.b=a%2D.b=a>3?

2:

4

8、执行语句”x=(a=3,b=a--)后,x,a,b的值依次为()

A.3,3,2B.3,2,2C.3,2,3D.2,3,2

9、设整形变量m,n,a,b均为1,执行”(m=a>b)&&(n=a>=b)”后m,n的值是()

A.0,0B.0,1C.1,0D.1,1

10、设有inta=3;则执行语句a+=a-=a*a;后a的值是()

A.3B.0C.9D.-12

11、在以下一组运算符中,优先级最高的运算符是()

A.<=B.=C.%D.&&

12、若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是()

A.1B.2C.2.0D.2.5

13、设a=1,b=2,c=3,d=4,则表达式a

a:

c

a:

d的结果是()

A.4B.3C.2D.1

14、下列表达式中符合C语言语法的赋值表达式是()

A.a=7+b+c=a+7B.a=7+b++=a+7

C.a=(7+b,b++,a+7)D.a=7+b,c=a+7

15、若有chara;intb;floatc;doubled;则表达式a*b+d-c值的类型是()

A.floatB.intC.charD.double

16、表达式10!

=9的值是()

A.trueB.非零值C.0D.1

二、填空题

1、在内存中存储”A”要占用个字节,存储’A’要占用个字节。

2、C语言中符号常量的定义方法是。

3、定义变量的完整格式为。

4、C语言中的逻辑值“真”是用表示的,逻辑值“假”是用表示的。

5、符号常量的定义方法是。

6、无符号基本整型的数据类型符为,双精度实型数据类型符为,字符型数据类型符为。

7、运算符:

+、++、&&、<=中,优先级最高的是,最低的是。

8、设a=3,b=2,c=1,则a>b的值为,a>b>c的值为。

9、若a=10,b=20,则表达式!

a

10、若intx=1,y=2;则表达式1.0+x/y的值为。

11、若int型变量x=y=z=5;若执行x-=y–z后x=;若执行x%=y+z后x=;若执行x=(y>z)?

x+2:

x–2,3,2后x=;

12、表述20

13、设floatx=2.5,y=4.7;inta=7;,表达式x+a%3*(int)(x+y)%2/4的值为。

14、判断变量a、b的值均不为0的逻辑表达式为。

15、求解赋值表达式a=(b=10)%(c=6),表达式值、a、b、c的值依次为。

16、求解逗号表达式x=a=3,6*a后,表达式值、x、a的值依次为。

17、数学式a/(b*c)的C语言表达式。

三、程序设计题

1、编写一个程序,将大写字母转换为小写字母。

2、编写程序,从键盘输入梯形的上下底边长度和高,计算梯形的面积。

3、编写程序,从键盘输入某学生的四科成绩,求出总分和平均分,找出最高分和最低分。

4、编写摄氏温度、华氏温度转换程序。

要求:

从键盘输入一个摄氏温度,屏幕就显示对应的华氏温度,输出取两位小数。

转换公式:

F=(C+32)×9/5

 

四、程序改错题

1、以下程序的功能是,输入长方形的两边长(边长可以取整数和实数),输出它的面积和周长。

#include

main

{

inta,b,s,l;

scanf("%d,%d",&a,&b);

s=a*b;

l=a+b;

printf("l=%f,s=%f\n",l);

}

2、以下程序的功能是,输入两个数,求最大值。

#include

mian()

{

inta,b;c;

scanf("%d%d",a,&b);

c=max(a,b);

printf("max=%d"c);

}

intmax(intx,inty)

{return(x>y?

x:

y)}

3、以下程序的功能是,输入三个数,求平均值。

include

main()

{

inta,b;

floataverage;

printf("pleaseinputa,b,c:

");

scanf("%d%d",&a,&b,&c);

prinf("a=%d,b=%d,c=%d\n",a,b,c);

average=(a+b+c)/3.0;

printf("average=%.2d\n",average);

第4章程序结构

一、选择题:

1、若charc=’A’;则c=(c>=’A’&&c<=’Z’)?

(c+32):

c的值是()

A.‘A’B.‘a’C.‘Z’D.‘z’

2、设x,y,z,t均为int型变量,则执行以下语句后,t的值为()

x=y=z=1;t=++x||++y&&++z;

A.不定值B.2C.1D.0

3、执行以下语句后x的值是()

a=b=c=0;x=35;

if(!

a)x--;elseif(b);if(c)x=3;elsex=4;

A.34B.4C.35D.3

4、下面的程序段所表示的数学函数关系是()

y=-1;

if(x!

=0)if(x>0)y=1;elsey=0;

A.y=-1(x<0);0(x=0);1(x>0)

B.y=1(x<0);-1(x=0);0(x>0)

C.y=0(x<0);-1(x=0);1(x>0)

D.y=-1(x<0);1(x=0);0(x>0)

5、若有整型变量i,j;则以下程序段中内循环体的执行次数为()

for(i=5;i;i++)

for(j=0;j<4;j++){...}

A.20B.24C.25D.30

6、假定a和b为int型变量,则执行以下语句后b的值为()

a=1;b=10;

do{b-=a;a++;}

while(b--<0);

A.9B.-2C.-1D.8

7、在C语言中,下列说法中正确的是()

A.不能使用”do语句while(条件)”的循环

B.”do语句while(条件)”的循环必须使用”break”语句退出循环

C.”do语句while(条件)”的循环中,当条件为非0时结束循环

D.”do语句while(条件)”的循环中,当条件为0时结束循环

8、若abcd都是int类型变量且初值为0,以下选项中不正确的赋值语句是()。

A.a=b=c=100;B.d++;C.c+b;D.d=(c=22)-(b++);

9、若变量已正确定义,要将a和b中的数进行交换,下面不正确的语句是()。

A.a=a+b,b=a-b,a=a-b; B.t=a,a=b,b=t;

C.a=t;t=b;b=a;     D.t=b;b=a;a=t;

10、以下关于if语句的错误描述是(  )。

A.条件表达式可以是任意的表达式

B.条件表达式只能是关系表达式或逻辑表达式

C.条件表达式的括号不可省

D.与else配对的if语句是其之前最近的未配对的if语句

11、执行了以下程序段后,x,w的值为()。

intx=0,y=1,z=2,w;

if(x++)w=x;

elseif(x++&&y>=1)w=y;

elseif(x++&&z>1)w=z;

A.0,1B.1,1C.2,1D.3,2

12、对于下面①,②两个循环语句,()是正确的描述。

①while

(1);

②for(;;);

A.①②都是无限循环B.①是无限循环,②错误

C.①循环一次,②错误D.①②皆错误

二、填空题

1、结构化程序设计规定的三种基本结构是结构,结构和结构。

2、以下两条if语句可合并成一条if语句为。

if(a<=b)x=1;

elsey=2;

if(a>b)printf(“****y=%d\n”,y);

elseprintf(“####x=%d\n”,x);

3、设i,j,k均为型变量,则执行如下语句后,k的值为。

for(i=0,j=10;i<=j;i++,j--)k=i+j;

三、程序分析题

1、阅读程序,写出运行结果()

#include"stdio.h"

main()

{

floata,b,area;

scanf("%f%f",&a,&b);

area=a*b;

printf("area=%f\n",area);

}

2↙3↙

2、阅读程序,写出运行结果()

#include"stdio.h"

main()

{

charc1,c2,c3;

c1='a';

c2='b';

c1=c1-32;

c2=c2-32;

printf("\n%c%c\n",c1,c2);

}

3、阅读程序,写出运行结果()

#include"stdio.h"

main()

{

intx,a;

x=(a=3,6*3);

printf("%d,%d\n",a,x);

x=a=3,6*a;

printf("%d,%d\n",a,x);

}

4、阅读程序,写出运行结果()

main()

{

inty=9;

for(;y>0;y--)

if(y%3==0){printf(“%d”,--y);cintinue;}

}

5、阅读程序,写出运行结果()

#include

main()

{

inta=3,b=8,c=5,t;

if(a>b){t=a;a=b;b=t;}

if(a>c){t=a;a=c;c=t;}

if(b>c){t=b;b=c;c=t;}

printf("2:

a=%d,b=%d,c=%d\n",a,b,c);

}

6、阅读程序,写出运行结果()

#include

main()

{intc1=0,c2=0,score;

scanf("%d",&score);

if(score>=60)

{

printf("及格");

c1=c1+1;

}

else

{

printf("不及格");

c2=c2+1;

}

}

86↙

7、阅读程序,写出运行结果()

#include

main()

{

printf("***\n");

printf("***");

printf("***\n");

}

8、阅读程序,写出运行结果()

#include

main()

{

inti,s;

i=1;s=0;

while(i<=3)

{

s=s+i;

i=i+1;

}

printf("%d",s);

}

9、阅读程序,写出运行结果()

#include

main()

{

inti,j;

for(i=1;i<=3;i++)

{printf("*\n");}

}

10、阅读程序,写出运行结果()

#include

main()

{inta=1;

while(a<=2)

{printf("欢迎光临!

");

a=a+1;

}

}

11、阅读程序,写出运行结果()

#include

main()

{

inta[5],i,min,max;

for(i=0;i<5;i++)

scanf("%d",&a[i]);

min=max=a[0];

for(i=1;i<5;i++)

{if(a[i]

printf("Mininumvalueis%d\n",min);

}

6↙5↙9↙3↙7↙

12、阅读程序,写出运行结果()

#include

main()

{

inta[5]={1,2,3,4,5},i;

for(i=0;i<5;i++)

{printf("%4d",a[i]);}

}

13、阅读程序,写出运行结果()

#include

#include

func(inta,intb);

main()

{

intk=4,m=1,p;

p=func(k,m);

printf("%d",p);

}

func(inta,intb)

{intm;

m=a+b;

return(m);

}

四、程序设计题

1、编程序,输入一个整数,输出其符号(若≥0,输出1;若≤0,输出-1)。

2、编程序,输入三个数,输出其中最小值。

第5章数组

一、选择题:

1、若有以下说明,则数值为4的表达式是()

inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};

charc=‘a‘,d,g;

A.a[g–c]B.a[4]C.a[‘d’-‘c’]D.a[‘d’–c]

2、设有定义:

chars[12]={“string”};则printf(“%d\n”,strlen(s));的输出是()

A.6B.7C.11D.12

3、若有以下数组定义:

inta[10]={1,2,3,4,5,6,7,8,9,10};

则关于语句printf(“%d“,a[10]);正确的说法是()。

A.正确执行并输出10B.能够执行但输出0

C.语法错误,不能执行D.虽然能够执行,但输出结果不确定

4、下列语句中,正确的是()

A.chara[3][]={‘abc’,‘1’};B.chara[][3]={“abc”,“1”};;

C.chara[3][]={‘a’,“1”};D.chara[3][]={“a”,“1”};

5、合法的数组定义是()

A.inta[]={“string”};B.inta[5]={0,1,2,3,4,5};

C.chara={“string”};D.chara[]={0,1,2,3,4,5};

6、关于数组定义,以下说法不正确的是()。

A.定义数组时,可以只为其中的部分元素赋值;

B.多维数组在定义时只能省略第一维的长度;

C.多维数组在定义时不能省略的是第一维的长度;

D.局部数组在定义时也可以赋初值;

7、数组名作为参数传递给函数,作为实在参数的数组名被子处理为()。

A.该数组的长度B.该数组元素个数

C.该数组各元素的值D.该数组的首地址

二、填空题

1、若在程序中用到putchar()函数时,应在程序开头写上包含命令(),若在程序中用到strlen()函数时,应在程序开头写上包含命令()。

2、下面程序的功能是输出a数组中最大元素的下标,请填空。

main()

{

intk,p;

inta[]={1,-9,7,2,-10,3};

for(p=0,k=p;p<6;p++)

if(a[p]>a[k])

printf(“%d\n”,k);

}

四、程序设计题

1、编程序,输入单精度型一维数组a[10],计算并输出a数组中所有元素的平均值。

2、有一个数组,内放10个数,编程找出其中最小的数及其下标。

第6章函数

一、选择题:

1、C语言中函数的隐含存储类型是()

A.autoB.staticC.externD.无存储类型

2、以下对C语言函数的有关描述中,正确的是()

A.调用函数时只能把实参的值传送给形参,形参值不能传送给实参

B.C函数既可以嵌套定义又可以递归调用

C.函数必须有返回值,否则不能使用函数

D.C程序中有调用关系的所有函数必须放在同一个源程序文件中

3、C语言中函数返回值的数据类型是由()决定。

A.主调函数的类型B.定义函数时指定的类型

C.return语句中表达式的类型D.声明函数时的类型

4、下列程序的输出结果是()

intm=13;

intfun(intx,iny)

{intm=3;

return(x*y-m);

}

main()

{inta=7,b=5;

printf(“%d”,fun(a,b)/m);

}

A.1B.2C.7D.10

5、以下程序的输出结果是()

intd=1;

voidfun(intn)

{longs;

intd=5;

d+=n++;

printf(“%d\t”,d);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 高中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1