c语言程序设计形考答案(C语言程序设计试题)

程序设计 941
本篇文章给大家谈谈c语言程序设计形考答案,以及C语言程序设计试题对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、C语言程序设计(201803)测试求大佬帮忙!

本篇文章给大家谈谈c语言程序设计形考答案,以及C语言程序设计试题对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

C语言程序设计(201803)测试求大佬帮忙!

选D

选C;"my name"算上空格一共7个字符,加上结尾的'\0'为8个字符,所以如果m前没有空格,那么答案为C

选C;p指向a[3]=4的地址,即p及其之后地址中的数值为{4,5,6,7,8,9,10},所以其中第5个数为p[4]=8

选C

选D;A错误,字符串应为char型;B错误,数组长度不够;C错误,没有vhst类型;D正确,可看作字符数组,{}内的数值可转为相应的ASCII字符

选C;字符数组即字符串不能直接通过"="赋值,要使用strcpy函数

选C;函数实参可以是常量、变量或表达式,该题中逗号表达式(exp2,exp3)返回exp3,(exp4,exp5,exp6)返回exp6,因此一共3个实参

选C;A错误,函数调用时不用指明其参数类型;B错误,fun函数没有返回值,不能赋给k;C正确;D错误,函数调用时不用指明其返回类型

选A;n++表示先返回n的值,再对n进行自增操作,即先令k=n,再执行n=n+1

选C;if-else不是循环结构

选D;aa表示数组首地址,即aa[0],而不是aa[1]

选B

选B;a[2]=3,a[2]+1=4,所以a[a[2]+1]=a[4]=5

选C;A错误,除非函数定义在调用语句之后的位置,才需要提前声明;B错误,函数返回值不一定要显示给出,没有返回值类型的默认为整型;C正确;D错误,在类的定义中,当构造函数和析构函数不需要完成操作时可用空函数来表示,但它们又是有意义的

选B;scanf需指明读入变量的地址,字符串名称c就表示字符串的地址,也即字符数组首元素的地址,不用再加取地址符

选A

选D;同第6题

码字不易,望采纳~

帮忙做一下!C语言程序设计习题

1.第一题的程序如下,答案是2.500000。

#include stdio.h

void main()

{int a=7;

float x=2.5,y=4.7;

float s;

s=x+a%3*(int)(x+y)%2/4;

printf("%f",s);

}

2.第二题的整个程序如下:

#include stdio.h

void main()

{int a;

float f;

printf("Input number:");

scanf("%f,%d",f,a);

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

}

3.答案:2 1

4.答案:1

5.答案:2

6.你的程序有些小错误,应该如下:答案为 :-1

#include stdio.h

void main()

{int a=100,x =10,y=20,okl=5,ok2=0;

if (xy)

if(y!=10)

if(!okl) a=1;

else

if(ok2) a=10;

a=-1;

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

}

7.答案:2

8.答案:0

9.答案:1

10.答案:a=2,b=1,c=1

电大形考作业C语言程序设计

#includestdio.h

#includestdlib.h

void main(void)

{

    int x;

    int cnt = 0;    //用于记录输入整数的个数

    FILE* f1;   

                    //定义一个文件指针

    f1=fopen("data.txt","w");   //在程序所在项目内建立一个空文件

    if (f1==NULL) 

    { //当f1对应的文件没有建立和打开时则退出运行

        printf("不能够打开文件!\n");

        exit(1);

    }

    printf("从键盘向数据文件输入一批整数,直到输入0时结束!\n");

    scanf("%d",x);  //从键盘读入一个整数

    cnt = 1;

    while(x!=0)     //对每个有效地整数进行处理

    {

        int i=0, d[6];

        if(x0) {         //若为负数则向文件写入一个负号

           fputc('-', f1); x=-x;

        }

        while(x/10!=0) 

        { 

            d[i++]=x%10; x=x/10;//用d数组保存整数中的每个数字位

        }

        fputc(48+x, f1); //把整数的最高位数字写入文件中

        while(--i=0)     //依次把整数的后续每位数字写入文件中

        fputc(48+d[i], f1);

        if (cnt%3 == 0){

            fputc('\n', f1);  //每三个整数换行

        } else {

           fputc(' ', f1);   //不换行则每个整数后写入一个空格      

        }

        scanf("%d",x);   //再从键盘读入一个整数

        cnt ++;

    }

    fclose(f1);   //关闭f1所对应的data.txt文件        

}

C语言程序设计2015A卷-

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

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

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

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

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

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

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

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

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

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

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

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

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+cb==c的值: (3) ;

设x=2.5, a=7, y=4.7,则表达式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) 2.5 (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;i3;i++)

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

4、 (1)在if(m0)语句后添加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)n0或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(flag0)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(ji){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;

}

国家开放大学《程序设计基础》形考任务1试题

"1 单选 C语言中函数返回值的类型是由 ( A ) 决定的.

A. 函数定义时指定的类型

B. return语句中的表达式类型

C. 调用该函数时的实参的数据类型

D. 形参的数据类型"

官网其实有考试题库的,可以去官网看看历年真题,如果找不到的话,利用百度文库、电大题酷小程序、上学吧等考试搜题工具会好很多的。帮你搜了一些题,希望能够帮到你~~~

"2 单选 在函数调用时,以下说法正确的是:( B )。

A. 函数调用后必须带回返回值

B. 实际参数和形式参数可以同名

C. 函数间的数据传递不可以使用全局变量

D. 主调函数和被调函数总是在同一个文件里"

"3 单选 语句int *p;说明了( C )。

A. p是指向一维数组的指针

B. p是指向函数的指针

C. p是指向int型数据的指针

D. p是函数名,该函数返回一指向int型数据的指针"

"4 单选 下列指针的定义不正确的定义是( A )。

A. int *p=i,i;

B. int *p,i;

C. int i,*p=i;

D. int i,*p;"

"5 单选 有语句:int a[10],;则( B )是对指针变量p的正确定义和初始化。

A. int p=*a;

B. int *p=a;

C. int p=a;

D. int *p=a;"

"6 单选 若有说明语句“int a[5],*p=a;”,则对数组元素的正确引用是:( C )。

A. a[p]

B. p[a]

C. *(p+2)

D. p+2"

"7 单选

有如下程序

int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;

则数值为9的表达式是:( B )。

A. *p+9

B. *(p+8)

C. *p+=9

D. p+8"

"8 单选 被调函数调用结束后,返回到 :( D )。

A. 主调函数中该被调函数调用语句处

B. 主函数中该被调函数调用语句处

C. 主调函数中该被调函数调用语句的前一语句

D. 主调函数中该被调函数调用语句的后一语句"

"9 单选 能把函数处理结果的两个数据返回给主调函数,在下面的方法中不正确的是:( A )。

A. return 这两个数

B. 形参用两个元素的数组

C. 形参用两个这种数据类型的指针

D. 用两个全局变量 "

"10 单选 下列各语句定义了数组,其中哪一个是不正确的( C )。

A. char a[3][10]={""China"",""American"",""Asia""};

B. int x[2][2]={1,2,3,4};

C. float x[2][ ]={1,2,4,6,8,10};

D. int m[][3]={1,2,3,4,5,6}; "

"11 单选 # include stdio.hint test(int b){ b*=10;printf(“b=%d ”,b);return b/2;}void main(){ int b=60;b=test(b);printf(“b=%d ”,b);}程序的运行结果是:( D )。

A. b=10 b=60

B. b=10 b=30

C. b=300 b=600

D. b=600 b=300"

"12 单选 如果一个函数作为表达式被调用,则该函数必须是 ( A )。

A. 有返回值的函数

B. 无返回值的函数

C. 有参函数

D. 无参函数"

"13 单选 C语言程序由函数组成,它的( B )。

A. 主函数必须在其它函数之前,函数内可以嵌套定义函数。

B. 主函数可以在其它函数之后,函数内不可以嵌套定义函数。

C. 主函数必须在其它函数之前,函数内不可以嵌套定义函数。

D. 主函数可以在其它函数之后,函数内可以嵌套定义函数。"

求29.30.31答案和解释 c语言程序设计

29、数组的下标值必须是整数,且不能越界,数组a的下标值范围是0--9

A

*(a+i)

等价于

a[i]

B

a[p-a+i]

等价于

a[i]

因为

p=a

所以

p-a+i=i

C

p+i

是数组中下标值为i的元素的地址

D

*(a[i])

等价于

a[i]

所以

本题答案是

C

30、strcpy(s1,s2)字符串赋值函数,把串s2放在s1的位置上,所以s1必须有足够的存储空间来存放串s2

A

st1

是一维数组可以存放字符串teacher1

B

st4

是一个指针变量,但是该指针指向一个连续的存储空间

teacher1

C

st3是指针变量,但是该指针没有指向任何存储空间,所以不能把串teacher1放在st3

D

st1

是一维数组可以存放字符串teacher1

所以

本题答案

C

31、p

q

是指针变量,存放的是n的地址

A

p=q

p

q

指针类型相同

可以直接赋值

B

*p=*q

也可以

//

p=q=n

*p=*q=n

C

n=*p

原理同

B项

D

p是指针,应该存放n的地址,即p=n

所以本题答案是:

D

c语言程序设计形考答案的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于C语言程序设计试题、c语言程序设计形考答案的信息别忘了在本站进行查找喔。

扫码二维码