最新c语言程序设计自测练习第一稿汇总.docx

上传人:b****8 文档编号:12327497 上传时间:2023-06-05 格式:DOCX 页数:34 大小:30.80KB
下载 相关 举报
最新c语言程序设计自测练习第一稿汇总.docx_第1页
第1页 / 共34页
最新c语言程序设计自测练习第一稿汇总.docx_第2页
第2页 / 共34页
最新c语言程序设计自测练习第一稿汇总.docx_第3页
第3页 / 共34页
最新c语言程序设计自测练习第一稿汇总.docx_第4页
第4页 / 共34页
最新c语言程序设计自测练习第一稿汇总.docx_第5页
第5页 / 共34页
最新c语言程序设计自测练习第一稿汇总.docx_第6页
第6页 / 共34页
最新c语言程序设计自测练习第一稿汇总.docx_第7页
第7页 / 共34页
最新c语言程序设计自测练习第一稿汇总.docx_第8页
第8页 / 共34页
最新c语言程序设计自测练习第一稿汇总.docx_第9页
第9页 / 共34页
最新c语言程序设计自测练习第一稿汇总.docx_第10页
第10页 / 共34页
最新c语言程序设计自测练习第一稿汇总.docx_第11页
第11页 / 共34页
最新c语言程序设计自测练习第一稿汇总.docx_第12页
第12页 / 共34页
最新c语言程序设计自测练习第一稿汇总.docx_第13页
第13页 / 共34页
最新c语言程序设计自测练习第一稿汇总.docx_第14页
第14页 / 共34页
最新c语言程序设计自测练习第一稿汇总.docx_第15页
第15页 / 共34页
最新c语言程序设计自测练习第一稿汇总.docx_第16页
第16页 / 共34页
最新c语言程序设计自测练习第一稿汇总.docx_第17页
第17页 / 共34页
最新c语言程序设计自测练习第一稿汇总.docx_第18页
第18页 / 共34页
最新c语言程序设计自测练习第一稿汇总.docx_第19页
第19页 / 共34页
最新c语言程序设计自测练习第一稿汇总.docx_第20页
第20页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

最新c语言程序设计自测练习第一稿汇总.docx

《最新c语言程序设计自测练习第一稿汇总.docx》由会员分享,可在线阅读,更多相关《最新c语言程序设计自测练习第一稿汇总.docx(34页珍藏版)》请在冰点文库上搜索。

最新c语言程序设计自测练习第一稿汇总.docx

最新c语言程序设计自测练习第一稿汇总

 

C语言程序设计-自测练习2013第一稿

1.7自测练习

1.C语言是一种()。

A.低级语言B.高级语言C.机器语言D.汇编语言

2.以下描述中错误的是()。

A.不同的计算机可以理解的机器语言也不同

B.机器语言和汇编语言都和具体的硬件平台相关,因此统称为低级语言

C.高级语言编写的程序较为简洁,可读性较好

D.编译方式执行速度较快,且每次修改源程序后不必重新进行编译处理

3.以下描述中正确的是()。

A.C语言编程的一个显著特点是以计算机工作方式来思考和组织程序代码

B.面向过程的程序设计方法以提高执行效率、少占内存作为目标

C.面向过程的程序设计方法一般采用结构化和模块化设计思想

D.面向对象的程序设计方法提高了软件开发的可重用性,但增加了程序开发的复杂性

4.以下描述中错误的是()。

A.编写C程序的过程通常称为编辑,结果将得到.c源文件

B.C源程序经过编译,将生成本机目标代码文件,扩展名为obj

C.链接过程通常是将目标代码文件和程序中使用到的其他代码连接在一起

D.运行结果不对,通常是由于语法错误引起的

5.语句“printf("Welcome\nto\nC!

");”将输出()。

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

6.有以下程序

#include"stdio.h"

voidmain()

{floata=b=2,result;

result=a/b;

printf("result=%f\n",result);}

正确的说法是()。

A.因为变量声明问题导致编译出错

B.因为result=a/b;语句有误导致编译出错

C.输出结果为result=2.000000

D.输出结果为result=1.000000

7.下列程序运行时输入34,则程序的输出结果是()。

#include"stdio.h"

intmulti(inta,intb)

{returna*b;}

voidmain()

{intx,y,t;

printf("Pleaseinputtwointegers(xandy):

");

scanf("%d%d",&x,&y);

t=multi(x,y);

printf("%d\n",t);}

A.3B.4C.7D.12

8.以下程序的运行结果是()。

#include"stdio.h"

#defineRATE0.05

voidmain()

{doublesalary,tax;

salary=5000.00;

tax=(salary-3000)*RATE;

printf("Theresultis:

%.2f\n",salary-tax);}

A.5000.00B.100.00C.4900.00D.3000.00

9.以下程序的运行结果为()。

#include"stdio.h"

voidmain()

{printf("%d\n",sizeof(char)+sizeof(int)+sizeof(double));}

A.148B.1,4,8C.144D.13

10.有以下程序

#include"stdio.h"

voidmain()

{charch;

printf("输入一个大写字母:

");

scanf("%c",&ch);

digit=ch-'A';

printf("%c,%d\n",digit+'a',digit);}

若程序运行时输入B,则程序的输出结果是()。

A.编译时出错B.b,BC.b,1D.B,1

2.5自测练习

1.已定义:

intk,a,b;unsignedlongw=5;doublex=1.42,不正确的表达式是()。

A.x%(-3)B.w+=-2C.k=(a=2,b=3,a+b)D.a+=a-=(b=4)*(a=3)

2.单精度变量x=3.0,y=4.0,下列表达式中的y的值为9.0的是()。

A.y/=x*27/4B.y+=x+2.0C.y-=x+8.0D.y*=x-3.0

3.已定义intnum=sum=7,(sum=num++,sum++,++num)表达式的结果是()。

A.7B.8C.9D.10

4.若有定义:

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

A.2.500000B.4.50000C.3.500000D.0.00000

5.若x、i、j和k都是int型变量,则执行下面表达式x=(i=4,j=16,k=32)后x的值为()。

A.4B.16C.32D.52

6.设有定义:

intx=2;,以下表达式中,值不为6的是()。

A.x*=x+1B.x++,2*xC.x*=(1+x)D.2*x,x+=2

7.若变量a、i已正确定义,且i已正确赋值,合法的语句是()。

A.a==1B.++i;C.a=a++=5;D.a=int(i);

8.执行下面程序段的输出结果是()。

intx=023,y=5,z=2+(y+=y++,x+8,++x);printf("%d,%d\n",x,z);

A.18,13B.19,14C.22,21D.20,22

9.已知i、j、k为int型变量,若从键盘输入:

1,2,3,使i的值为1,j的值为2,k的值为3,以下选项中正确的输入语句是()。

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);

10.执行下面程序段的输出结果为()。

intx=13,y=5;printf("%d",x%=(y/=2));

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

3.6自测练习

1.为表示关系x≥y≥z,应使用C语言表达式()。

A.(x>=y)&&(y>=z)B.(x>=y)and(y>=z)

C.x>=y>=zD.(x>=Y)&&(Y>=z)

2.以下运算符中优先级最低的运算符为()。

A.&&B.&C.!

=D.||

3.下列表达式中,()不满足“当x的值为偶数时其值为真,为奇数时其值为假”的要求。

A.x%2==0B.!

x%2!

=0C.(x/2*2-x)==0D.!

(x%2)

4.判断char型变量ch是否为大写字母的正确表达式是()。

A.'A'<=ch<='Z'B.(ch>='A')&(ch<='Z')

C.ch>='A'&&ch<='Z'D.('A'<=ch)AND('Z'>=ch)

5.在C语言中,要求运算数必须是整型的运算符是()。

A./B.++C.!

=D.%

6.下述程序段的输出结果是()。

inta=2,b=3,c=4,d=5;

intm=2,n=2;

a=(m=a>b)&&(n=c>d)+5;

printf("%d",n);

A.0B.1C.2D.5

7.执行下列程序段后,变量m的值是()。

intw=1,x=2,y=3,z=4,m;

m=(w

w:

x;

m=(m

m:

y;

m=(m

m:

z;

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

8.有定义语句:

inta=1,b=2,c=3,x;,则以下选项中各程序段执行后,x的值不为3的是()。

A.if(c

B.if(a>3)x=3;elseif(a<2)x=2;elsex=1;

C.if(a<3)x=1;if(a<2)x=2;if(a==1)x=3;

D.if(a

9.执行以下程序时,若从键盘输入一个数字字符“5”,则会输出结果()。

#include"stdio.h"

voidmain()

{charch;

printf("\n==========TIME==========\n");

printf("\n1.Findsquareofanumber");

printf("\n2.Findcubeofanumber");

printf("\n3.Findsquarerootofanumber");

printf("\n\nEnteryourchoice:

");

ch=getchar();

switch(ch)

{case'1':

printf("\nGoodmorning!

";break;

case'2':

printf("\nGoodafternoon!

";break;

case'3':

printf("\nGoodnight!

";break;

default:

printf("\nSelectionwrong!

\n");

}

}

A.Goodmorning!

B.Goodnight!

C.Goodafternoon!

D.Selectionwrong!

10.执行以下程序时,若从键盘输入一个实数15,则会输出结果()。

#include"stdio.h"

voidmain()

{floatx;

inty=0;

scanf("%f",&x);

if(x!

=0)

if(x>0)y=1;

elsey=-1;

printf("\n%d\n",,y);

}

A.15B.0C.-1D.1

4.8自测练习

1.以下不构成无限循环的语句或语句组是()。

A.n=0;do{++n;}while(n<=0);B.n=0;while

(1){n++;}

C.n=10;while(n);{n--;}D.for(n=0,i=1;;i++)n+=i;

2.以下描述中正确的是()。

A.由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句

B.do-while循环由do开始,用while结束,在while(表达式)后面不能写分号

C.在do-while循环体中,是先执行一次循环,再进行判断

D.do-while循环中,根据情况可以省略while

3.若变量已正确定义,有以下程序段

i=0;

doprintf("%d,",i);while(i++);

printf("%d\n",i);

其输出结果是()。

A.0,0B.0,1C.1,1D.程序进入无限循环

4.已知

intt=0;

while(t=1)

{...}

则以下叙述正确的是()。

A.循环控制表达式的值为0B.循环控制表达式的值为1

C.循环控制表达式不合法D.以上说法都不对

5.设有以下程序段

intx=0,s=0;

while(!

x!

=0)s+=++x;

printf("%d",s);

则()。

A.运行程序段后输出0B.运行程序段后输出1

C.程序段中的控制表达式是非法的D.程序段执行无限次

6.有以下程序

#include"stdio.h"

voidmain()

{inti,s=1;

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

if(!

(i%5)&&!

(i%3))s+=i;

printf("%d\n",s);}

程序的输出结果是()。

A.409B.277C.1D.91

7.以下程序的输出结果是()。

#include"stdio.h"

voidmain()

{inti,a=0,b=0;

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

{if(i%2==0)

{a++;

continue;}

b++;}

printf("a=%d,b=%d",a,b);}

A.a=4,b=4B.a=4,b=5C.a=5,b=4D.a=5,b=5

8.有以下程序

#include

voidmain()

{inty=9;

for(;y>0;y--)

if(y%3==0)printf("%d",--y);

}

程序的运行结果是()。

A.741B.963C.852D.875421

9.有以下程序

#include

voidmain()

{intk=5,n=0;

do

{switch(k)

{case1:

case3:

n+=1;k--;break;

default:

n=0;k--;

case2:

case4:

n+=2;k--;break;

}

printf("%d",n);

}while(k>0&&n<5);

}

程序运行后的输出结果是()。

A.235B.0235C.02356D.2356

10.有以下程序

#include

voidmain()

{intx=0,y=0,i;

for(i=1;;++i)

{if(i%2==0){x++;continue;}

if(i%5==0){y++;break;}}

printf("%d,%d",x,y);}

程序的输出结果是()。

A.2,1B.2,2C.2,5D.5,2

5.5自测练习

1.若有定义intnum[10];则对数组元素的正确引用是()。

A.num[10]B.num(5)C.num[2.5]D.num[2×3]

2.下面关于数组的叙述,正确的是()。

A.数组元素的数据类型都相同

B.数组不经过定义即可使用

C.同一数组中会出现不同类型的数组元素

D.数组名等同于第一个元素

3.以下定义合法的是()。

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

C.chars[]="string";D.chara()={0,1,2,3,4,5};

4.以下定义正确的是()。

A.intnum[];B.#defineN100

intnum[N];

C.intnum[0..100];D.intN=100;

intnum[N];

5.以下不能正确定义二维数组的是()。

A.inta[2][2]={{1},{2}};B.inta[][2]={1,2,3,4};

C.inta[2][2]={{1},2,3};D.inta[2][]={{1,2},{3,4}};

6.假设按如下方式调用scanf()函数:

scanf("%d%s%d",&i,s,&j);

若用户输入12abc3456def78,那么调用后s的是()。

A.abcB.abc34

C.abc3456defD.一个空格

7.以下程序的执行结果是()。

#include"stdio.h"

voidmain()

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

inti,s=0;

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

s+=a[i][1];

printf("%d\n",s);

}

A.11B.13C.19D.20

8.以下程序的执行结果是()。

#include"stdio.h"

#include"string.h"

voidmain()

{charstr[][10]={"ABCD","EFGH","IJKL","MNOP"},k;

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

printf("%s\n",&str[k][k]);

}

A.ABCDB.ABCDC.EFGD.FGH

FGHEFGJKKL

KLIJO

9.执行下列语句后,字符串str的值是()。

strcpy(str,"Howareyou");

strcpy(&str[4],"isyourdayto");

strcat(str,"day");

A."Howareyou"B."Howisyourdayto"

C."Howisyourdaytoday"D."Howareyoutoday"

10.执行下列程序的结果是()。

#include"stdio.h"

voidmain()

{chars[]="ABCCDA",c;

intk;

for(k=1;(c=s[k])!

='\0';k++)

{switch(c)

{case'A':

putchar('%');continue;

case'B':

++k;break;

default:

putchar('*');

case'C':

putchar('&');continue;

}

putchar('#');

}

}

A.#&*&%B.%&*&#C.%&&*%D.#

 

6.9自测练习

1.以下叙述中错误的是()。

A.C程序必须由一个或一个以上的函数组成

B.函数调用可以作为一个独立的语句存在

C.调用函数前,必须进行函数原型说明

D.函数形参的类型可以与返回值类型不一致

2.以下正确的函数定义形式是()。

A.floatfun(intx;inty)B.floatfun(intx,y)

C.floatfun(intx,inty)D.floatfun(intx,inty;)

3.有以下程序:

#include"stdio.h"

fun(floatx,floaty)

{return(x*y)/3.0;}

voidmain()

{floatk;

k=fun(5.2,4.0);

printf("%.2f\n",k);

}

程序运行后的输出结果为()。

A.6.93B.6.00C.6.67D.程序出错,无结果

4.有以下程序:

#include"stdio.h"

voidfun(charc)

{if(c>’b’)

fun(c–2);

printf("%c",c);

}

voidmain()

{fun('h');}

程序运行后的输出结果是()。

A.bdfB.bdfhC.hfdbD.hfd

5.有以下程序

#include“stdio.h”

#defineS(x)(x)*x*3

voidmain()

{intk=6,j=2;

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

}

程序运行后的输出结果是()。

A.18B.11C.48D.宏的参数不匹配,出错

6.以下程序的输出结果是()。

#include“stdio.h”

intx,y;

voidfun()

{x=20;y=30;}

voidmain()

{intx=7,y=9;

fun();

printf(“%d%d\n”,x,y);

}

A.2030B.3020C.97D.79

7.以下只有在使用时才为该类型变量分配内存的存储类说明是()。

A.auto和staticB.auto和register

C.register和staticD.extern和register

8.在一个源文件中定义的全局变量,其默认的作用域为()。

A.本文件的全部范围B.本程序的全部范围

C.本函数的全部范围D.从定义位置开始至本文件结束

9.设有如下函数定义

#include"stdio.h"

intfun(intk)

{if(k<1)return0;

elseif(k==1)return1;

elsereturnfun(k-1)+1;

}

voidmain()

{

printf("%d",fun(3));

}

若执行调用语句:

n=fun(3);,则函数fun总共被调用的次数是()。

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

10.下面程序的运行结果为()。

#include“stdio.h”

intf(intk)

{staticinta=1;

k+=a++;

returnk;

}

voidmain()

{inta=2;

printf("%d\n",f(a)+f(a));

}

A.6B.7C.8D.9

 

7.5自测练习

1.当定义一个共用体变量时,系统为它分配的内存空间是()。

A.共用体中第一个成员所占用的空间

B.共用体中所有成员所占用空间之和

C.共用体中空间占用最大者

D.共用体中任意一个成员所占用的空间

2.有如下定义:

structnumber

{

inta;

charb;

}num;

则sizeof(num)的值是()。

A.5B.8C.9D.10

3.共用体变量在程序运行过程中()。

A.只有一个成员占用内存空间B.所有成员都占用内存空间

C.没有成员占用内存空间D.部分成员占用内存空间

4.typedef的作用是()。

A.用来定义一个新的数据类型

B.可以为已有类型取一个新的名字

C.可以用来定义一个变量

D.能为用户自定义类型取新的名字,但不能为原始数据类型取新的名字

5.有如下定义的结构体及变量,则为变量中各个成员赋值,正确的形式是()。

structTime

{

inthour;

intminute;

intsecond;

}time;

A.Time.hour=3;Time.minute=24;Time.second=56;

B.hour=3;minute=24;second=56;

C.time.hour=3;time.minute

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

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2