C语言试题训练Word格式.docx

上传人:b****6 文档编号:8604642 上传时间:2023-05-12 格式:DOCX 页数:8 大小:17.36KB
下载 相关 举报
C语言试题训练Word格式.docx_第1页
第1页 / 共8页
C语言试题训练Word格式.docx_第2页
第2页 / 共8页
C语言试题训练Word格式.docx_第3页
第3页 / 共8页
C语言试题训练Word格式.docx_第4页
第4页 / 共8页
C语言试题训练Word格式.docx_第5页
第5页 / 共8页
C语言试题训练Word格式.docx_第6页
第6页 / 共8页
C语言试题训练Word格式.docx_第7页
第7页 / 共8页
C语言试题训练Word格式.docx_第8页
第8页 / 共8页
亲,该文档总共8页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C语言试题训练Word格式.docx

《C语言试题训练Word格式.docx》由会员分享,可在线阅读,更多相关《C语言试题训练Word格式.docx(8页珍藏版)》请在冰点文库上搜索。

C语言试题训练Word格式.docx

4.设有如下定义:

structst

{

inta;

floatb;

}st1,*pst;

若有pst=st1;

则下面引用正确的是________。

A)(*pst.st1.b)B)(*pst).b

C)pst-st1.bD)pst.st1.b

5.如果inti=3,则printf(%d,-i++)的输出结果是,i的值是。

A)-34B)-44

C)-43D)-33

二、写出下列程序的运行结果。

1.

#include

main()

intx,y;

scanf(%2d%*2s%1d,x,y);

printf(%d,x/y);

}

程序运行时输入:

2345678↙

则程序运行结果是:

2.

while(i3)

switch(i++)

case0:

printf(fat);

break;

case1:

printf(hat);

case2:

printf(cat);

default:

printf(Ohno!

);

put);

运行结果是:

3.

intSquare(inti);

inti=0;

i=Square(i);

for(;

i5;

i+=2)

staticinti=1;

i+=Square(i);

printf(%d,i);

intSquare(inti)

returni*i;

程序运行结果是:

4.

voidinv(int*p,intn);

inti;

inta[10]={13,7,9,11,0,6,7,5,4,2};

for(i=0;

i10;

i++)

printf(%d,,a[i]);

printf();

inv(a,10);

voidinv(int*p,intn)

int*i,*j,m=(n-1)/2,t;

j=p+n-1;

for(i=p;

i=p+m;

i++,j--)

t=*i;

*i=*j;

*j=t;

程序运行结果:

5.

structname

charfirst[20];

charlast[20];

};

structbeam

intlimbs;

structnametitle;

charty[30];

structbeam*pb;

structbeamdeb={6,{Berbnazel,Gwolkapwolk},

Arcturan};

pb=deb;

printf(%d,deb.limbs);

printf(%s,pb-ty);

printf(%s,pb-ty+2);

三、阅读程序,在标有下划线的空白处填入适当的表达式或语句,使程序完整并符合题目要求。

(8分,每空1分)

1.下面这个程序的功能是对含有n个元素(最多10个)的一维数组按升序进行排序。

#defineARRAY_SIZE10

voidSort(inta[],intn);

voidInputArray(inta[],intn);

voidPrintArray(inta[],intn);

inta[ARRAY_SIZE],n;

printf(Inputarraylenthn=10:

scanf(%d,n);

printf(输入数组a:

);

InputArray(a,n);

Sort(a,n);

printf(打印排序后的数组a:

PrintArray(a,n);

voidSort(inta[],intn)

inti,j,p,temp;

for(i=0;

i;

p=i;

for(j=;

jn;

j++)

if()p=j;

if()

temp=a[p];

a[p]=a[i];

a[i]=temp;

voidInputArray(inta[],intn)

for(i=0;

in;

;

voidPrintArray(inta[],intn)

printf(%d,a[i]);

2.下面程序的功能是从键盘输入一行字符,统计其中有多少单词。

假设单词之间以空格分开。

[提示:

判断是否有新单词出现的方法是------当前被检验的字符不是空格,而前一被检验字符是空格,则表示有新单词出现。

]

charstr[80];

inti,num;

gets(str);

if(str[0]!

=)

num=1;

else

num=0;

for(i=1;

str[i];

if(str[i]str[i-1])

num++;

printf(num=%d,num);

四、在下面给出的4个程序中,共有16处错误(包括语法错误和逻辑错误),请找出其中的错误,并改正之。

(30分,每找对1个错误,加1分,每修改正确1个错误,再加1分。

只要找对15个即可,多找不加分。

1.在给定的一组书名中,从键盘任意输入一个书名(书名可以有空格)。

若找到,则打印该书名,否则打印”没找到”。

inti,findFlag=0;

charx;

charstr[][13]={Pascal,Basic,Fortran,Java,

VisualC,VisualBasic};

printf(请输入一个字符串:

gets(x);

while(i6!

findFlag)

if(x==str[i])

findFlag=1;

i++;

if(findFlag)

printf(%s,x);

printf(没找到!

2.打印100~200之间的所有素数。

intm,i;

for(m=100;

m=200;

m++)

for(i=2;

isqrt(m)flag;

if(m%i==0)

flag=0;

if(flag)

printf(%d,m);

3.从键盘输入任意一个学生的学号,在班级学生表中(学生表的学号是按升序排序的,且班级最多30人)查找该学号是否存在,存在打印其考试成绩,否则打印“Notfind!

”。

#defineARR_SIZE30;

intSearch(long*p,intn,longx);

longnum[ARR_SIZE],x;

floatscore[ARR_SIZE];

inti,n,pos;

printf(输入班级实际人数:

scanf(%d,n);

printf(输入学生学号和成绩);

in;

scanf(%ld%f,num[i],score[i]);

printf(输入待查找学号:

scanf(%d,x);

pos=Search(num,n,x);

if(pos+1)

printf(score=%f,score[pos]);

printf(Notfind!

inti,flag;

for(i=0;

i++)

if(*(p+i)==x)

flag=i;

flag=-1;

returnflag

4.该程序的作用是将一个字符串中的元音字母复制到另一个字符串,然后输出。

charstr1[80],str2[80];

printf(输入一个字符串:

gets(str1);

Cpy(str1[],str2[]);

printf(输出一个字符串);

puts(str2);

voidCpy(chars[],charc[])

inti,j;

s[i]!

=\0;

if(s[i]=a||s[i]=A||s[i]=e||s[i]=E||

s[i]=i||s[i]=I||s[i]=o||s[i]=O||

s[i]=u||s[i]=U)

s[i]=c[j];

j++;

五、编程(42分)

1.编程计算:

1!

+3!

+5!

+…+(2n-1)!

的值。

其中,n值由键盘输入。

(14分)

2.不用标准库函数strlen,自己编写一个函数MyStrlen,实现计算字符串长度的功能。

要求在主函数中输入一个字符串(可以读入空格),并在主函数中打印字符串的长度。

请按以下给定的函数原型编写程序:

intMyStrlen(charstr[]);

intMyStrlen(char*p);

注:

不按给定的函数原型或使用全局变量编写程序不给分。

3.编写一个函数,求最大值及最大值所在元素的下标。

要求在主函数中通过键盘任意输入一组数(最多10个),且在主函数中打印最大数及最大数元素的下标。

voidFindmax(intnum[],intn,int*pMaxNum,int*pMaxPos);

voidFindmax(int*p,intn,int*pMaxNum,int*pMaxPos);

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

当前位置:首页 > 高中教育 > 其它课程

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

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