C语言练习题Word文件下载.docx

上传人:b****6 文档编号:20389059 上传时间:2023-01-22 格式:DOCX 页数:132 大小:91.42KB
下载 相关 举报
C语言练习题Word文件下载.docx_第1页
第1页 / 共132页
C语言练习题Word文件下载.docx_第2页
第2页 / 共132页
C语言练习题Word文件下载.docx_第3页
第3页 / 共132页
C语言练习题Word文件下载.docx_第4页
第4页 / 共132页
C语言练习题Word文件下载.docx_第5页
第5页 / 共132页
点击查看更多>>
下载资源
资源描述

C语言练习题Word文件下载.docx

《C语言练习题Word文件下载.docx》由会员分享,可在线阅读,更多相关《C语言练习题Word文件下载.docx(132页珍藏版)》请在冰豆网上搜索。

C语言练习题Word文件下载.docx

(C)一个指向具有M个整型元素的一维数组的指针

(D)具有M个指针元素的一维指针数组,每个元素只能指向整型量

9、指针s所指字符串的长度为()。

char*s=″\t\″Name\\Address\n″;

(A)19(B)15(C)18(D)说明不合法

10、若有intk=5;

floatx=1.2;

则表达式(int)(x+k)的值是()

(A)5(B)6.2(C)7(D)6

二、判断题(每小题0.5分,共5分)

判断下面的叙述是否正确,如果正确请在括号内填√,否则填×

1、在位运算中,一般而言,操作数每左移一位,其结果相当于操作数除以2。

()

2、B5是合法书写的十六进制常数。

3、一个字符串所占的字节数等于其实际长度加1。

4、每个源文件都必须有且只能有一个main函数。

5、break语句只能在循环语句中使用。

6、被调函数的形参值发生变化,主调函数中相应的实参值也将随之发生变化。

7、如果数组超界使用,则不能通过编译。

8、在局部变量的作用域内,同名的全局变量不起作用。

9、只有外部变量才能被说明为静态变量。

10、设P是指向数组A的指针变量,则A[i]和P[i]等价。

三、多项选择题(每小题2分,共10分)

请从下列每题中选择一个或多个正确答案。

1、以下是属于算法的特点的选项()

(A)有穷性(B)确定性(C)有效性

(D)有零个和多个输入(E)有一个或多个输出

2、下列关于文件的结论中正确的是()

(A)对文件操作必须先关闭文件

(B)对文件操作必须先打开文件

(C)对文本文件只能顺序操作

(D)C语言不能操作二进制文件

(E)对文件操作结束后必须关闭文件

3、若有以下说明和语句,且0≤i<

10,

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

int*p,i;

p=a;

则对数组元素的正确引用是()。

(A)*(a+i)(B)a[p-a](C)p+i(D)*(&

a[i])

4、在C语言程序中,下列说法哪些是错误的()

(A)函数的定义可以嵌套,但函数的调用不可以嵌套

(B)函数的定义不可以嵌套,但函数的调用可以嵌套

(C)函数的定义和函数的调用均不可以嵌套

(D)函数的定义和函数的调用均可以嵌套

5、若有定义:

char*p1,*p2,*p3,*p4,ch;

则能正确赋值的程序语句为()

(A)p1=&

ch;

scanf(″%c″,p1);

(B)p2=(char*)malloc

(1);

scanf(″%c″,p2);

(C)p3=getchar();

(D)p4=&

*p4=getchar();

四、读程序写出结果(每小题2分,共16分)

1、main()

inti=3,j=2,a,b,c;

a=(--i==j++)?

--i:

++j;

b=i++;

c=j;

printf("

%d,%d,%d\n"

,a,b,c);

2、main(){inta[8]={1,2,3,4,5,6,7,8};

int*p=a;

do{printf("

\n%d"

*p++);

p+=2;

}while(p<

a+8);

}

3、f1(){intx=1;

staticy=2;

x++;

y++;

\n%d\n"

x+y++);

main()

{

f1(),f1(),f1();

579

 

4、#include<

stdio.h>

#defineFUDGE(y)2.84+y

#definePR(a)printf("

%d"

(int)(a))

intx=2;

PR(FUDGE(5)*x);

}12

5、voidprtv(int*x){inti;

for(i=0;

2;

i++)x[i]=1;

x[i]=8;

inti,a[]={2,4,6};

prtv(a);

3;

i++)

a[i]);

}118

6、main(){charstr1[]="

abcdefghijk"

str2[20];

char*p1=str1,*p2=str2;

for(;

*p1!

='

\0'

p1++)

if(*p1>

'

d'

&

*p1<

k'

{*p2=*p1;

p2++;

*p2='

p2=str2;

\n%s"

p2);

}efghij

7、main(){intadd(int);

intx=2;

int(*p)();

inti;

p=add;

p(x);

intadd(x)

8、main(){char*s[]={"

China"

,"

Japan"

French"

England"

};

char**p;

p=s+2;

%s"

*p);

}French

五、程序填空(每空1分,共9分)

1、求100以内的质数。

{intp[100],i,j;

100;

p[i]=i;

for(i=4;

i++)

for(j=2;

j<

=i/2;

j++)

if(i%j==0)

P[i]=0;

break;

for(i=2;

if(p[i])

%5d"

p[i]);

\n"

);

2、假设函数ABC是求取字符串的长度。

ABC(char*k)

{char*p;

p=k;

while(*p++)

return(p-k);

Main()

{charstr[]=”djflkjlsaf”;

ABC(str);

3、如下程序使x与y变量之值进行交换。

#include<

voidmain()

voidswap(int*ptr1,int*ptr2);

intx,y,*ptr1,*ptr2;

inputx,y"

scanf("

%d,%d"

&

x,&

y);

%d\t%d\n"

x,y);

ptr1=&

x;

ptr2=⑦;

if(x<

y)

swap(⑧);

voidswap(int*ptr1,int*ptr2)

⑨;

temp=*ptr1;

*ptr1=*ptr2;

*ptr2=temp;

参考答案

一、单选题(每小题1分,共10分)

1

2

3

4

5

6

7

8

9

10

C

D

B

二、判断题(每小题0.5分,共5分)正确用“A”表示,错误用“B”表示

A

三、多项选择题(每小题2分,共10分)

ABCDE

BE

ABD

ACD

四、读程序写出结果(每小题2分,共16分)

1、1,1,32、147

3、5794、12

5、1186、efghij

7、4568、French

五、程序填空(每空1分,共9分)

①i②i++③j++

④p[i]⑤i或p[i]⑥k

⑦&

y⑧ptr1,ptr2⑨inttemp

(2)

11、若有以下说明和语句,且0≤i<

则对数组元素的错误引用是()。

12、在位运算中,一般而言,操作数每左移一位,其结果相当于()

(A)操作数乘以2(B)操作数除以2

(C)操作数除以4(D)操作数乘以4

13、C语言源程序是由()

(A)子程序(B)过程

(C)函数(D)主程序和子程序

14、与定义int*p[4]等价的是()。

(A)intp[4]

(B)int*(p[4])

(C)int*p

(D)int(*p)[4]

15、C语言中的文件类型只有()。

(A)ASCII文件和二进制文件

(B)两种索引文件和文本文件两种

(C)文本文件一种

(D)二进制文件一种

16、设有语句chara=’\72’;

,则变量a()

(A)包含1个字符(B)包含2个字符

(C)包含3个字符(D)说明不合法

17、以下说法中正确的是()。

(A)C语言程序总是从第一个定义的函数开始执行

(B)在C语言程序中,要调用的函数必须在main()函数中定义

(C)C语言程序总是从main()函数开始执行

(D)C语言程序中的main()函数必须放在程序的开始部分

18、在以下运算符中,优先级最高的运算符是()。

(A)<=(B)/

(C)!

=(D)&&

19、在C语言程序中,预处理命令是以()开头的命令。

(A)#(B)%

(C)&

(D)*

20、若有intk=5;

1、表达式3.2%5是合法的。

2、逗号表达式是没有值和类型的。

3、函数的调用可以返回一个以上的返回值。

4、C语言的编译系统对宏命令的处理是在C源程序编译阶段进行的。

5、如果被定义函数的返回值是整型,可以不必进说明。

7、一个变量的指针就是该变量的地址。

8、函数的形参必须在函数体外逐个说明其类型。

9、a[10]中10表示a数组有10个元素,下标从1开始。

请从下列每题中选择一个或多个正确答案。

1、main()

intm=5;

if(m++>

5)

%d,%d,%d\n"

m,++m,m++);

else

m--,m,--m);

}_

3、#include<

main()

inti=010,j=10;

++i,j--);

4、#include<

inta=2,c=5;

a=%%d,b=%%d\n"

a,c);

}

5、main()

6、intm=13;

intf(intx,inty)

intm=3;

return(x*y-m);

inta=7,b=5;

%d\n"

f(a,b)/m);

8、#include<

math.h>

{inta=1,b=4,c=2;

floatx=10.5,y=4.0,z;

z=(a+b)/c+sqrt((double)y)*1.2/c+x;

%f\n"

z);

1、输入5个国家的国名,要求按照字母顺序排列后输出。

string.h>

voidsort(char*name[],intn);

voidprint(char*name[],intn);

staticchar*name[]={"

"

America"

Australia"

France"

German"

};

intn=5;

sort(name,n);

print(name,n);

voidsort(char*name[],intn)

char①;

int②;

③;

{k=i;

for(④;

n;

j++)

if(strcmp(name[k],name[j])>

0)

k=j;

if(⑤)

{pt=name[i];

name[i]=name[k];

name[k]=pt;

voidprint(char*name[],intn)

%s\n"

name[i]);

ABC(char*k)

p=⑥;

while(*p++);

3、计算S=1-1/3+1/5-1/7+1/9+…+1/(2n+1)。

{inti=0,n;

floats=0.0,w,f=-1.0;

do

{printf("

PleaseinputN:

"

%n);

}while(⑦);

f=⑧*f,w=⑨,s+=w;

TheResultis:

%10.2f\n"

s);

六、单选题(每小题1分,共10分)

七、判断题(每小题0.5分,共5分)正确用“A”表示,错误用“B”表示

八、多项选择题(每小题2分,共10分)

九、读程序写出结果(每小题2分,共16分)

1、5,5,52、71215

3、9,104、a=%d,b=%d

5、aaabbbcccddd6、2

7、4568、13.700000

一十、程序填空(每空1分,共9分)

①(*pt)[5]②i,j,k③i<

5

④j=i⑤k=j⑥k

⑦n<

0⑧-1⑨f/(2*n+1)

(3)

一、判断题(每小题1分,共10分)

1、数组是基本数据类型。

10、设P是指向数组A的指针变量,则A[i]和P[i]等价。

二、单项选择填空(每小题1分,共10分)

1、C语言源程序是由()组成的。

2、若a为整型变量,且a=-2L;

则语句:

printf(″%d\n″,a);

的结果是()。

(A)赋值不合法(B)输出值为-2

(C)输出为不确定值(D)输出值为2

3、在C语言的if语句中,用作判断的表达式为()。

(A)关系表达式(B)逻辑表达式

(C)算术表达式(D)任意表达式

4、在以下运算符中,优先级最高的运算符是()。

=(D)&&

5、若有以下说明和语句,且0≤i<10,

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

int*p,i;

p=a;

则对数组元素的错误引用是()。

(A)*(a+i)(B)a[p-a]

(C)p+i(D)*(&a[i])

6、若有说明:

inta[5],*p=a;

则对a数组元素地址的正确引用是()。

(A)&a[5](B)p+2

(C)a++(D)&a

7、若有以下说明和语句:

chars[12]=″abook!

″;

printf(″%d″,strlen(s));

则输出结果是()。

(A)12(B)8

(C)7(D)6

8、设有以下语句:

charstr[4][12]={″aaa″,″bbb″,″ccc″,″ddd″};

char*strp[4];

i<4;

i++)strp[i]=str[i];

若0≤k<4,下列选项中对字符串的非法引用是(

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

当前位置:首页 > 高等教育 > 研究生入学考试

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

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