C语言程序设计2015A卷-

C语言程序设计2015A卷-,第1张

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

1标准C中,只有数值型数据才能进行4则混合运算。

2标准C中,_a是合法的自定义标识符。

3有定义:float f;表达式f+=(int)36%2”不符合C语言语法。

4标准C中,逻辑运算的结果只有是1表示满足条件,而结果是0表示不满足条件。

6以下运算符排列顺序满足按照优先级从高到低的排列:‘&&’、‘!’、‘==’、‘-’。

7语句for(;;);是非法的。

8在C语言程序中可以由多个源文件构成,每个源文件都可以有自己的main()函数。

9while和do-while的主要区别是后者至少无条件执行一次。

10数组名代表数组的首地址是常量,所以将实参数组名表示地址传给形参数组名是错误的。

11当函数没有返回值类型时,表示函数类型为void。

12C语言中,指针变量作函数参数时,它们不是采取单向值传递的方式。

13一个函数中只允许有一条return语句。

14在C语言中,如果没有说明变量的存储类型是auto类型的。

15由于指针中所存放的地址都是整数,所以整型指针和浮点型指针可以相互赋值。

二、填空题(每空1分,共15分)

1. 若a=4;b=5,c=6;则表达式c==(b=-a); 中c的值是 (1) 。

2. 计算表达式的值:

4&&-4的值: (2) ;

设int a=3,b=4,c=5,则表达式a||b+c&&b==c的值: (3) ;

设x=25, a=7, y=47,则表达式x+a%3(int)(x+y)%2/4的值: (4) ;

设a=12,则表达式a=a/5的值: (5) ;

3. 若int x = 4,y = 6,z = 0;有循环while(x = y) {z ++;y--;}

则循环语句执行完后,z值为 (6) 。

4. 变量的指针就是指该变量的 (7) 。

5. 若有定义int (p)[4],则标识符p是 (8) ;若有定义int p[4],则标识符p是 (9) ;

6. 已有定义:char p[ ]={“France”,“Chinese”,“Russia”,“America”};则语句printf(“%s”,p[2]);printf(“%c”,(p[1]+2));printf(“%c”,((p+1)+1));

的输出结果分别为: (10) 、 (11) 、 (12) 。

7. 已有定义: int x=65; 若格式化输出结果为“A, 65”,则对应的格式化输出语句为printf(“ (13) , (14) ”, x, x)。

8. 已定义:int a[][2]={1, 2, 3, 4, 2, 6, 7, 2};则a[3][0]= (15) 。

三、简答题(每题4分,共12分)

1、简述选择语句if和else语句对与switch语句的区别。

2、简述在循环语句中,break和continue的区别。

3、若int a[5],p=a;简述p++和(p)++的区别。

四、下列各程序中每个程序各有2个错误,指出错误语句,写出对应正确语句(每小题4分,共16分)

五、程序填空题:下列程序中缺少若干条语句,在对应的下划线上填上合适的语句,每一个下划线只填一条语句(每小题6分,共24分)

六、阅读下列程序,写出运行结果(第一小题4分,第二小题6分,共10分)

七、编程题(8分)

编译程序,其功能是比较字符串的大小( 不允许 用系统提供的字符串比较函数strcmp)。要求是:

(1) 通过主函数调用一个函数strcompare来实现。

(2) 要求函数strcompare实现两个字符的比较:如第一个字符小于第二个字符则返回一个负值;如两个字符相等则返回0值;如第一个字符大于第二个字符则返回一个正值。

(3) 并输出两个字符串中相同部分的子串。

《C语言程序设计基础》试卷参考答案

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

1~5 ; 6~10 ; 11~15

二、填空题(每空1分,共15分)

(1) 6 (2) 1 (3) 1 (4) 25 (5) 24 (6) 6

(7)地址 (8) 行指针,指向有四个元素的一维数组

(9)指针数组名,该数组有四个元素,每个元素都是指针

(10)Russia (11)i (12)h (13) %c (14) %d (15)7

三、简答题(每题4分,共12分)

1、if总是判断其后面的表达式的值是否为非零值,如是非零值则执行其后面的语句或由{}括起来的复合语句,否则执行else后面的语句。而switch语句则根据其后面表达式的可数值来判断,执行switch语句体内与其中的一个case:常量值相等语句后面的语句。执行break语句后,跳出switch语句体。

2、break是终止整个循环过程;continue是终止本次循环。

3、p++首先取a[0]的值,然后p指向a[1];(p)++使得a[0]的值自增1,但p保持不变。

四、下列各程序中每个程序各有2个错误,指出错误语句,写出对应正确语句(每小题4 分,共16分)

1、 (1)缺#include ; (2)scanf(“%f”,a); 改为 scanf(“%f”,&a);

2、 (1)缺sum=0; (2)for(i=1; i<=3; i++) 改为for(i=0;i<3;i++)

3、 (1)p1=p2 改为 p1=p2 (2)swap(&a, p) 改为swap(&a, p)

4、 (1)在if(m<0)语句后添加else if(m==0) a=1; (2) 添加 return(a);

五、程序填空题:下列程序中缺少若干条语句,在对应的下划线上填上合适的语句,每一个下划线只填一条语句(每小题6分,共24分)

1、 (1)x=0; (2)if(n==x) (3)s++;或s=s+1;

2、 (4)&num[i] (5)max< num[i] (6)num[i]!=0

3、 (7)n-i-1 (8)a[j]>a[j+1] (9)a[j+1]=temp

4、 (10)count=0; (11)n%10 (12)n>0或n!=0或n

六、阅读下列程序,写出运行结果(第一小题4分,第二小题6分,共10分)

1、 ###

2、 main i=1 j=2 k=2

sub i=1 j=2 k=1 x=2

sub i=1 j=2 k=1 x=3

七、编程题(8分)

#include

main()

{

int i,j, flag=0;

char str1[90],str2[90];

gets(str1);

gets(str2);

i=0;

do{

flag=strcompare(str1[i],str2[i]);

i++;

}while(str1[i]!=’’ && str2[i]!=’’ &&flag=0);

if(flag<0)printf(“%s小于%s ”,str1,str2);

else if(flag==0) printf(“%s 等于%s ”,str1,str2);

else printf(“%s大于%s ”,str1,str2);

printf(“两个字符串中相同的字串为:”);

j=0;

i--; 后3句可用str1[i]=’’; printf(“%s”,str1);代替//用str2也可以。

while(j<i){printf(“%c”,str1[i]);j++;} span=""> </i){printf(“%c”,str1[i]);j++;}>

}

int strcompare(char c1,char c2)

{

int v;

v=c1-c2;

return v;

}

#include<stdioh>

int main()

{ printf("C 语言程序设计! \n");

printf("祝你学习顺利!\n");

return 0;

}

-125=-555

1

字节 二进制

0

1

无表达式,不能解,如有则按C语言运算规则来计算,整型与双精度的一起运算要先换算成双精度的

x(x(x(x(x(x(5x+3)-4)+2)+1)-6)+1)+10

二进制 ASCII

1,-2

没有定义j,无法运行

================================================

分都没有还想让人给你答,就想不劳而获,学习诗歌循序渐进的过程,你现在不学,将来会后悔的

#include<stdioh>

double func(int m)

{    

double total=00;

int sum=0;

int i,j;

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

{

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

sum+=j;

total+=10/sum;

sum=0;

}

return total;

}

void main()

{

int m;

printf("Pleaseenter integer number:");

scanf("%d",&m);

printf("Theresult is %f\n",func(m));

}

示例运行结果:

Pleaseenter integer number:20

Theresult is 1904762

第一题:首先值得说明的是,你的题目有点儿问题应该是: if(a[i][j]>a[row][colum]){row=i;colum=j;}

然后,答案是:row

a[row][colum]

第二题:素数的问题,也就是质数,解题思路就是,如果这个数不能够被2~这个数的开根号整除的话,那么这个数就是素数。

苍狼涯的答案是正确的。

我修改一下。

如下:

#include<stdioh>

#include<mathh>

bool IsPrime(int x);

int main()

{

int num[5]={0,0,0,0,0};

int temp=0;

for(int i=1000;i>=2;i--)

{

if (IsPrime(i))

{

num[temp]=i;

temp++;

if (temp==5)

break;

}

}

printf("结果如下:\n");

for (int k=0;k<5;k++)

{

printf("%d\t",num[k]);

}

printf("\n");

return 0;

}

bool IsPrime(int x)

{

for(int i = 2; i <= (int)sqrt(x); i++)

{

if((x % i) == 0)

return false;

}

return true;

}

1循环过程就是反复执行某个或某些 *** 作直至条件为假或为真才停止的一个过程

2常用的选择结构有if····else···;switch;

3break是跳出循环也就是结束整个循环体,执行循环体后的语句;continue是结束循环中的单次循环从而进入循环体的下一次循环,还在循环体中。

以上就是关于C语言程序设计2015A卷-全部的内容,包括:C语言程序设计2015A卷-、1. 简答题 编程实现,使用C语言编写从屏幕上输出两句话: ①C 语言程序设计! ②、c语言程序设计求解答.等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10061244.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存