当前位置:文档之家› 石油大学C语言在线考试附答案

石油大学C语言在线考试附答案

C语言综合复习资料

一、单选题

1. C语言中基本数据类型有

A整型、实型、逻辑型B整型、字符型、逻辑型

C整型、实型、字符型D整型、实型、字符型、逻辑型

2. 在C语言中;数字029是一个

A八进制数B十进制数C十六进制数D非法数

3. 在以下关于C语言的不严格的叙述中;错误的说法是

A在标识符中;大写字母和小些字母的意义相同

B有些不同类型的变量可以在一个表达式中运算

C在赋值表达式中等号“=”左边的变量和右边的值可以是不同类型

D同一个运算符号在不同的场合可以有不同的含义

4. 已知int a=4;b=5; ;这执行表达式a=a>b 后;变量a的值为

A 0 B1 C 4 D 5

5. 设有定义int a=3;b=4;c=5; ;则以下表达式中;值为0的表达式是

A a&&b

B a<=b

C a||b+c&&b-c

D a

6. 以下不合法的赋值语句是

Ax=1;y=2; B++x; Cx=y=15; Dy=intx;

7. 已定义c为字符型变量;则下列语句中正确的是

Ac='97'; Bc="97"; Cc="a"; Dc=97;

8. 能将高级语言编写的源程序转换为目标程序的软件是

A汇编程序B编辑程序C解释程序D编译程序

9. 设有定义char *p=“abcde\0fghjik\0”; 则printf“%d\n”;strlenp;输出结果是

A 12

B 15

C 6

D 5

10.以下选项中合法的实型常数是

A 5E2.0

B E-3

C .2E0

D 1.3E

11.以下非法的赋值语句是

A n=i=2;++i;

B j++;

C ++i+1;

D x=j>0;

12.已定义c为字符型变量;则下列正确的赋值语句是

Ac='66'; Bc="66"; Cc="B"; Dc=66;

13.设a=3;b=4;c=-5;则逻辑表达式:a || b+c&& b==c 的值是

A1 B0 C非0 D语法错

14.以下能正确定义数组并正确赋初值的语句是

Aint N=5;bNN; Bint a12={{1};{3}};

Cint c2= {{1;2};{3;4}}; Dint d32={{1;2};{34}};

15.结构化程序设计的三种基本结构是

A顺序结构、选择结构、循环结构Bif、switch、break

Cfor、while、do-while Dif、for、continue

16.在一个C程序中

Amain函数必须出现在所有函数之前Bmain函数可以在任何地方出现

Cmain函数必须出现在所有函数之后Dmain函数必须出现在固定位置17.以下合法的字符常量是

A‘\084’B‘ab’C‘\x43’D“\0”

18.用8位无符号二进制数能表示的最大十进制数为

A127 B128 C255 D256

19.设有定义:int x=0;y=1;z=1;则运行表达式:x=y++>z--后;x;y;z的值分别是

A1;1;1 B1;2;0 C0;1;1 D0;2;0

20.设有int x=11;则表达式x++*1/3的值是

A 3 B4 C 11 D 12

21.若有: int x=1;n=5; 则执行语句x%=n%2后;x的值为

A 3 B2 C 1 D 0

22.结构化程序的3种基本控制结构是

A if-else结构、while结构、for结构

B 顺序结构、分支机构、循环结构

C while结构、do-while结构、for结构

D 以上三种都不对

23.下面程序段的输出结果是

int k=11;

printf“%d;%o;%x”;k;k;k;

A11;12;11 B11;13;13 C11;013;0xb D11;13;b

24.在微型计算机系统中;存储一个汉字的国标码所需要的字节数是

A 1

B 2

C 3

D 4

25.以下非法的赋值语句是

A n=i=2;++i;

B j++;

C ++i+1;

D x=j>0;

26.语句:printf"%d";a=2&&b=-2; 的输出结果是

A无输出B结果不确定 C 1 D 2

27.设有定义语句:charstr20={"Hello";"Beijing"};*p=str;

则printf"%d\n";strlenp+20; 输出结果是

A0 B5 C7 D20

28.以下选项中;与k=++n完全等价的表达式是

A k=n;n=n+1

B n=n+1;k=n

C k=++n

D k+=n+1

二、读程序;写出程序执行结果

1. #include

void main

{ int a=10;b=0;

ifa==12

{a++; b++; }

else

{ a=a+3 ; b=b+3;}

printf“%d;%d\n”;a;b;

}

2. #include

void main

{ ints;i;

fors=0;i=1;i<5;i++;s+=i ;

printf“%d\n”;s;

}

3. #include “stdio.h”

void main

{ char n=‘c’;

switchn++

{ default: printf“error”; break;

case ‘a’: case ‘A’:

case ‘b’: case ‘B’: printf“good”;break; case ‘c’: case ‘C’: printf“pass”;

case ‘d’: case ‘D’: printf“warm”;

}

}

4. #include

void main

{ int k=4;n=0;

for ; n

{ n++;

ifn%3=0 continue;

k- -;

}

printf"%d;%d\n";k;n;

}

5. #include

int fint b;intm;int n

{ inti;s=0;

fori=m;i<=n;i+=2 s+=bi;

return s;

}

void main

{ intx;a={1;2;3;4;5;6;7;8;9;10};

x=fa;3;8;

printf“%d\n”;x;

}

6. #include

voidcopy_strchar from ;char to

{ int k=0;

whilefromk=‘\0’

{ tok=fromk;k++;}

tok=‘\0’;/*末尾加上串结束标志*/ }

void main

{ char str180=”red”;str280=”green”;

copy_str str1;str2;

putsstr2;

}

7. #include

int d=1;

void funint p

{ int d=5;

d+=p++;

printf“%d”;d;

}

void main

{ int a=3;

funa; d+=a++;

printf"%d\n"; d;

}

8.#include

void main

{ int i;j;

fori=0;i<3;i++

{

forj=0;j<=i;j++

printf"*";

printf"\n";

}

}

9. #include

void main

{ inti;

for i=0; i<3; i++

switch i

{ case 1: printf"%d "; i;

case 2: printf"%d "; i;

default :printf"%d "; i;

}

}

10.#include

intwsint x

{ ifx/100>0

return3;

else ifx/10>0

return2;

else

return1;

}

void main

{ int a=123;

printf"%d是%d位数\n";a;wsa;}

11. #include

#include

void main

{ char a10="abc";

char b="defg";

putsa;

putsb;

putsstrcata;b;

}

12.#include

void main

{ int i;n={1;2;3;4;5};

fori=0;i<2;i++

{ ni=n4-i+1;

printf"%d ";ni;

}

fori=0;i<5;i++

printf"%d ";ni;

}

13.#include

void main

{ int a34={{1;2;3;4};{9;7;10;6};{-1;8;-5;5}};

int i;j;row=0;colum=0;max;

max=a00;

fori=0;i<=2;i++

forj=0;j<=3;j++

ifaij>max

{ max=aij;

row=i;

colum=j;

}

printf"max=%d;row=%d;colum=%d";max;row;colum;

}

14.#include

voidcopy_strchar from ;char to

{ int k=0;

whilefromk= ‘\0’

{ tok=fromk;k++;}

tok=‘\0’;/*末尾加上串结束标志*/

}

void main

{ char str180= "good";str280= "abcdef";

copy_strstr1;str2;

putsstr2;

}

15. #include

void main

{ int a=0;

a+=a=8;

printf“%d\n”;a;

}

16. #include

void main

{ int x=4;

ifx++>=5

printf“%d\n”; x ;

else

printf“%d\n”; x-- ;

}

17. #include

#define MAXa;b a>b a : b+1

void main

{ int i=6;j=8;

printf“%d\n”;MAXi;j;

}

18.#include

void main

{ int i;j;m=0;n=0;k=0;

fori=6; i<=9;i++

forj=2; j<=3;j++

switchi%j

{ case 0: m++; break;

case 1: n++; break;

case 2: k++; break;

default: k++;n++;m++;

}

printf"%d %d %d\n";m;n;k;

}

19. #include

void main

{ inti;

fori=1;i<5;i++

{ ifi%2

putchar‘<’;

else

continue;

putchar‘>’;

}

putchar‘#’;

}

20.#include

void main

{ int i;n={1;2;3;4;5};

fori=0;i<2;i++

{ ni=n4-i+1;

printf"%d ";ni;

}

fori=0;i<5;i++

{ printf"%d ";ni;

}

}

21. #include

int m=13;

int funint x;int y

{ int m=3;

returnx*y-m;

}

void main

{ int a=7; b=5;

printf"%d\n"; funa;b/m;

}

22. #include

void main

{ int n=2;

printf“%d;%d;%d\n”; ++n ; n+=2 ; --n ;

}

23. #include

void main

{ int x=1;a=0;b=0;

switchx

{ case 0: b++;

case 1: a++;

case 2: a++;b++;

}

printf“a=%d;b=%d\n”;a;b;

}

24. #include

void main

{ ints;t;a=-2;b=6;

s=t=1;

ifa>0 s=s+1;

ifa>b t=s+t;

else ifa==b t=5;

else t=2*s;

printf"t=%d "; t;

}

25. #include

#define Sa;b a*b

void main

{ int a=3 ;area;

area=Sa;a+3 ;

printf"area=%d\n";area;

}

26. #include

void main

{ inti=0;a=0;

whilei<20

{ for;;

ifi%10==0 break;

elsei--;

i+=11;

a+=i;

}

printf"%d\n";a;

}

27. #include

void main

{ int aa44={{1;2;3;4};{5;6;7;8};{3;9;10;2};{4;2;9;6}};

inti;s=0 ;

fori=0;i<4;i++ s+=aai2;

printf“%d \n”;s;

}

28. #include

funint a; int b

{ ifa>b returna;

else returnb;

}

void main

{ int x=3; y=8; z=6; r;

r=funfunx;y; 2*z;

printf"%d\n"; r;

}

三、编程题

1. 设有分段函数:

x x <1

Y= 2x-1 1≤x <10 写一程序;输入 x;输出 y 的值..

3x-11 x≥10

2.编程任意输入两个实数a 和b;计算下面函数的值;并输出y 值..

a-b a>b

y= b

a a<

b a*b a=b

3.编程序求如下分段函数的值

4.写一个判断素数的函数..要求在主函数中输入一个整数并输出相应的判断信息..

5.编程序计算 s=1-2+3-4+ …… -10;并输出结果..

6.编写一个函数;将一个字符串最多80个字符中的大写字母变为小写字母;小写字母变为大写字母..要求字符串的输入与输出在主函数中完成..

7.编程计算:s=1+12+123+1234+12345+123456 必须用循环控制语句实现

8.编写函数change 使输入的字符串按反序存放;在主函数中输入和输出字符串.. 例如输入是:12345abcde;则输出为:edcba54321

9.编程;在N×N 矩阵中即N 行N 列的数组;求主对角线和次对角线上的各元素之和..

10.10个评委给出某选手打分;编程实现去掉一个最高分和一个最低分;求最后得分平均分

C语言综合复习资料参考答案一、单选题

二、读程序写出程序执行结果题

1、13;3

2、14

3、passwarm

4、3;3

5、18

6、red

7、84

8、

*

**

9、011122

10、123是3位数

11、

abc

defg

abcdefg

12、6565345

13、max=10;row=1;colum=2

14、good

15、16

16、5

17、9

18、4 3 1

19、<><>#

20、6565345

21、2

22、4;3;1

23、a=2;b=1

24、t=2

25、area=18

26、32

27、29

28、12

三、编程题

1. 设有分段函数:

x x<1

Y= 2x-1 1≤x<10 写一程序;输入x;输出y 的值..

3x-11 x≥10

#include

void main

{

intx;y;

printf“输入x:”;

scanf“%d\n”;&x;

ifx<1

{y=x;

printf“x=%3d;y=x=%d\n”;x;y;

}

else ifx<10

{y=2*x-1;

printf“x=%3d;y=2*x-1=%d\n”;x;y;

}

else

{y=3*x-11;

printf“x=%3d;y=3*x-11=%d\n”;x;y;

}

}

2.编程任意输入两个实数a和b;计算下面函数的值;并输出y值..

a-b a>b y=

b

a

a

#include void main { floata;b;y;

scanf“%f;%f”;&a;&b; ifa

3.编程序求如下分段函数的值 #include #include void main { floatx;y; scanf“%d”;&x; ifx<=0 y=fabsx+3; else ifx<1&&x>=0 {y=1+x*x;} else

{y=2*x+sqrtx; printf“x=%f;y=%f \n”;x;y; }

4.写一个判断素数的函数..要求在主函数中输入一个整数并输出相应的判断信息.. #include void main {intn;i;

printf“please enter a integer number;n= ”;

scanf“%d”;&n;

fori=2;i<=n-1;i++

ifn%i==0break;

ifi

elseprintf“%d is a prime number.\n”;n;

}

求素数的问题方法有很多;同学们可以到教材或网络上进行查找学习..

5.编程序计算s=1-2+3-4+ …… -10;并输出结果..

#include

void main

{inti;k=1;njie=1;

float sum=0;

fori=1;i<=10;i++

{njie=njie*i;

sum=sum+njie*k;

k=-1*k;

}

printf"%f\n";sum;

}

6.编写一个函数;将一个字符串最多80个字符中的大写字母变为小写字母;小写字母变为大写字母..要求字符串的输入与输出在主函数中完成..

#include

void main

{

inti;

char a80;

getsa;

putsa;

fori=0;i<80;i++

ifai>=65&&ai<=90

ai=ai+32;

putsa;

}

7.编程计算:s=1+12+123+1234+12345+123456 必须用循环控制语句实现

#include

void main

{

longint t=0;s=0;i;

fori=1;i<=6;i++

{t=i+t*10;s=s+t;}

printf”s=%ld\n”;s;

}

本题请注意s数据类型的定义..

8.编写函数change使输入的字符串按反序存放;在主函数中输入和输出字符串..例如输入是:12345abcde;则输出为:edcba54321

void main

{

char a100;

getsa;

changea;

putsa;

}

#include

#include

void changechar a

{

inti;j;k;

char temp;

k=strlena;

fori=0;i

forj=i+1;j

{

temp=ai;

ai=aj;

aj=temp;

}

}

9.编程;在N×N矩阵中即N行N列的数组;求主对角线和次对角线上的各元素之和..

#define N 10;

main

{

inti;j;

int aNN;

int sum=0;

fori=0;i

forj=0;j

scanf"%d";&aij;

fori=0;i

forj=0;j

ifi==j||i+j==N//i==j是判断是否主对角线的元素i+j==N 是判断是否是次对角线的元素sum+=aij; printf"%d";sum;

}

10.10个评委给出某选手打分;编程实现去掉一个最高分和一个最低分;求最后得分平均分

#include

int main

{

int a10;i;max;min;

float sum;

fori=0;i<10;i++

{

scanf"%d";&ai;

}

max=a0;

min=a0;

fori=1;i<=9;i++

{

ifmax

max=ai;

else ifmin>ai

min=ai;

}

fori=0;i<=9;i++

{sum=sum+ai;}

sum=sum-max-min/8;

printf"%f\n";sum;

}

}

2018年石油大学(华东)C语言在线考试答案

设有两字符串“Beijing”、“China”分别存放在字符数组str1[10],str2[1 0]中,下面语句中能把“China”连接到“Beijing”之后的为() ?A) strcpy(str1,str2); ? ?B) strcpy(str1,“China”); ? ?C) strcat(str1,“China”) ? ?D) strcat(“Beijing”,str2); ? 2(2.0分) 下列变量的定义及赋值正确的是() ?A) int i=0;j; ? ?B) char c=”A”; ? ?C) double x,y,z;x=y=z=100; ? ?D) float a=b=100; ?

3(2.0分) 设有定义语句:char str[][20]={"Hello","Beijing"},*p=str; 则printf("% d\n",strlen(p+20)); 输出结果是() ?A) ? ?B) 5 ? ?C) 7 ? ?D) 20 ? 4(2.0分) 设有定义:int x=0,y=1,z=1;则运行表达式:x=y >z--后,x,y, z的值分别是() ?A) 1,1,1 ? ?B) 1,2,0 ? ?C) 0,1,1 ?

0,2,0 ? 5(2.0分) 下列程序段的输出结果是()x=9; while(x>7) {printf(“*”);x--;} ?A) **** ? ?B) *** ? ?C) ** ? ?D) * ? 6(2.0分) 设有定义int a[ ]={1,5,7,9,11,13},*p=a 3;则*(p-2),*(a 4)的值是() ?A) 5 11 ? ?B) 1 9 ? ?C) 5 9 ?

中国石油大学(华东)C语言在线测评答案 第8章数组(2013级亲测正确)

8.7 求最大值 问题描述要求从键盘输入10个整型数据,找出其中的最大值并显示出来。 输入范例 3 0 54 -710 27 32767 10 1 500 2 输出范例 32767 提示先假定第一个元素时最大值,然后和其他的元素一个一个的进行比较,直到找到最大值。 #include int main() { int a[10],max,i; for(i=0;i<10;i++) scanf("%d",&a[i]); max=a[0]; for(i=0;i<10;i++) if(a[i]>max) max=a[i]; printf("%d\n",max); return 0; } 8.6 数组逆序输出 问题描述 从键盘上输入一个数组(10个元素),将原数组逆序重新排列后输出。要求输出每个元素时以一个空格隔开。 提示:用第一个与最后一个交换。 #include int main() { int a[10],i; for(i=0;i<10;i++) scanf("%d",&a[i]);

for(i=9;i>=0;i--) printf("%d ",a[i]); printf("\n"); return 0; } 8.1 谁能出线 背景:电视台举办“超级学生”才艺大赛,由于报名人数狂多,所以要先进行分组预赛。按规定,每10名学生为一个预赛小组,评委打出分数(0~100分),各小组第一名可以进 入下一轮;如果有多名学生得分相同都是第一名,则可同时进入下一轮。 输入:按顺序给出一个小组10个人的最后得分(int)。 输出:能够出线的学生序号(0~9)。 #include int main() { int a[10],i,max; for(i=0;i<10;i++) scanf("%d",&a[i]); max=a[0]; for(i=0;i<10;i++) if(a[i]>max) max=a[i]; for(i=0;i<10;i++) if(a[i]==max) printf("%d\n",i); return 0;

中国石油大学华东现代远程教育C语言

自测1 试题 1.第1题单选题已知小写字母的ASCII码为97,对于int a=99, b='b'; printf(“%c,%d”, a , b);的结果是 A、99, b B、c, 98 C、99, 98 D、c, b 标准答案:B 您的答案:B 题目分数:5 此题得分:5.0 批注: 2.第2题单选题下述语句的输出为 int m=-1; printf(“%d,%u,%o”,m,m,m); A、-1,-1,-11 B、-1,32767,-177777 C、-1,32768,177777 D、-1,65535,177777 标准答案:D 您的答案:D 题目分数:5 此题得分:5.0 批注:

3.第3题单选题设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值是 A、7 B、8 C、9 D、10 标准答案:C 您的答案:C 题目分数:5 此题得分:5.0 批注: 4.第4题单选题假定x和y为double型,则表达式x=2,y=x+3/2的值是 A、3.500000 B、3 C、2.000000 D、3.000000 标准答案:D 您的答案:D 题目分数:5 此题得分:5.0 批注: 5.第5题单选题若有定义:“int a=8,b=5,c;”,执行语句“c=a/b+0.4”后,c的值为 A、1.4 B、1 C、2.0 D、2 标准答案:B

您的答案:B 题目分数:5 此题得分:5.0 批注: 6.第6题单选题执行下面程序:main() { int x=1,y=1,z=1; x=x++ +y++ +z++; printf("%d, %d , %d",x,++y,z++); } 输出的结果为 A、4,3,2 B、3,3,2 C、3,3,3 D、3,2,2 标准答案:A 您的答案:A 题目分数:5 此题得分:5.0 批注: 7.第7题单选题 void main() { int a=5, b=8; printf(“a=%d b=%d\n”, a,b); a=a+b; b=a-b; a=a-b; printf(“a=%d b=%d\n”, a,b) ; } 输出的结果为 A、a=5 b=8 a=8,b=5 B、a=5 b=8

中国石油大学(华东)智慧树知到“计算机科学与技术”《程序设计(C语言)》网课测试题答案1

中国石油大学(华东)智慧树知到“计算机科学与技术” 《程序设计(C语言)》网课测试题答案 (图片大小可自由调整) 第1卷 一.综合考核(共15题) 1.下列描述中不正确的是() A.字符型数组中可以存放字符串 B.可以对字符型数组进行整体输入、输出 C.可以对整型数组进行整体输入、输出 D.不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值 2.在执行int a[ ][3]={{1,2},{3,4}}; 语句后a[1][2]的值是() A.3 B.4 C.0 D.2 3.执行下面程序,输出的结果为() A.4,3,2 B.3,3,2 C.3,3,3 D.3,2,2 4.若有说明语句:char c=‘\64’; 则变量C包含:() A.1个字符 B.2个字符 C.3个字符 D.说明不合法,C值不确定 5.用数组名作为函数调用时的实参,则实际传递给形参的是() A.数组的第一个元素值 B.数组中全部元素值 C.数组的首地址 D.数组的元素个数 6.以下选项中非法的表达式是() A.(a+2)++ B.i=j==1 C.(char)(65+10) D.x=x-1 7.已知:int a[ ][3]={1,2,3,4,5,6,7,8,9,0}; 则数组a的第一维的大小是() A.2 B.3 C.4 D.无法确定; 8.在“while(!a)”中,其中“!a”与表达式()等价。 A.a==0 B.a==1 C.a!=1 D.a!=0 9.在C语言中,字符型数据在内存中的存储形式是() A.原码 B.补码 C.反码 D.ASCII码 10.以下选项中合法的用户标识是() A.long B._2Test C.3Dmax D.A.dat

中石大C语言程序设计第次在线作业答案

第三次在线作业 单选题共20道题 收起 1.2.5分在C语言中,当函数调用时; A、A. 实参和形参各占一个独立的存储单元 B、B. 实参和形参共用存储单元 C、C. 可以由用户指定实参和形参是否共用存储单元 D、D. 由系统自动确定实参和形参是否共用存储单元 我的答案:A 此题得分:2.5分 2.2.5分以下函数调用语句中实参的个数为; excev1,v2,v3,v4,v5,v6; A、A. 3 B、B. 4 C、C. 5 D、D. 6 我的答案:A 此题得分:2.5分 3.2.5分如果在一个函数的复合语句中定义了一个变量,则该变量; A、A. 只在该符合语句中有效,在该符合语句外无效 B、B. 在该函数中任何位置都有效 C、C. 在本程序的原文件范围内均有效 D、D. 此定义方法错误,其变量为非法变量 我的答案:A 此题得分:2.5分 4.2.5分 C语言允许函数值类型缺省定义,此时该函数值隐含的类型是; A、A. float型 B、B. int型 C、C. long型

D、D. double型 我的答案:B 此题得分:2.5分 5.2.5分 C语言规定,函数返回值的类型是由; A、A. return语句中的表达式类型所决定 B、B. 调用该函数时的主调函数类型所决定 C、C. 调用该函数时系统临时决定 D、D. 在定义该函数时所指定的函数类型决定 我的答案:D 此题得分:2.5分 6.2.5分在C语言程序中,以下描述正确的是; A、A. 函数的定义可以嵌套,但函数的调用不可以嵌套 B、B. 函数的定义不可以嵌套,但函数的调用可以嵌套 C、C. 函数的定义和函数的调用均不可以嵌套 D、D. 函数的定义和函数的调用均可以嵌套 我的答案:B 此题得分:2.5分 7.2.5分以下叙述中正确的是; A、A. 全局变量的作用域一定比局部变量的作用域范围大 B、B. 静态static类别变量的生存期贯穿于整个程序的运行期间 C、C. 函数的形参都属于全局变量 D、D. 未在定义语句中赋初值的auto变量和static变量的初值都是随机值 我的答案:B 此题得分:2.5分 8.2.5分以下程序的运行结果是; include< stdio_h> void subint s,int y { static int t=3; y=st;t--; } main { int a={1,2,3,4},i,x=0; fori=0;i< 4;i++{ suba,x;printf"%d",x;} printf"\n"; } A、A.1234 B、B.432l C、C.0000

西安石油大学C语言考试题

1、若有定义语句“int a, b, c *p=&c;”,则以下选项中能正确执行的语句是(C )。 A、scanf(“%d”, a, b, c); B、scanf(“%d%d%d”, a, b, c); C、scanf(“%d”, p); D、scanf(“%d”, &p); 2、已知x=43, ch=‘A’, y=0, 则表达式(x>=y&&ch<‘B’&&!y)的值是(C )。 A、0 B. 语法错误 C. 1 D. “假” 3、如果a=1, b=2, c=4, d=3, 则条件表达式a>b?a:c>d?c:d的值为(D )。 A. 1 B. 2 C. 3 D. 4 4、若k为整型变量,则以下循环执行次数是( B )。 k=2; while(k==0) printf(“%d”,k); k--; printf(“\n”); A. 无限 B. 0次 C. 1次 D. 2次 5. 下列程序段哪个说法正确( D )。 for(t=1; t<=100; t++) { scanf(“%d”, &x); if(x<0) continue; printf(“%3d”, t); } A. 当x<0时整个循环结束 B. x>=0时什么也不输出 C. printf函数永远也不执行 D. 最多允许输出100个非负整数 6. 以下程序的执行结果是: void main() { char ch; int k = 0; for(ch=‘A’; ch<‘H’; ch++, k++) if(k%2==0) printf(“%c”, ch); } Key: A C E G 7. 以下程序输入两个整数,按从大到小的顺序进行输出。 void main() { int x, y, z; scanf(“%d, %d”, &x, &y); if( [1] ) { z=x; [2] ; }

中国石油大学C语言程序设计第一册在线作业答案

第一次在线作业 单选题(共22道题) 收起 1.( 2.5分)一个C语言程序总是从()开始执行。 A、A. 主过程 B、B. 主函数 C、C. 子程序 D、D.主程序 我的答案:B 此题得分:2.5分 2.(2.5分)以下叙述不正确的是:()。 A、A. 在C程序中,语句之间必须要用分号" ;" 分隔 B、B. 若a是实型变量,C程序中a=10是正确的,因为实型变量中允许存放整型数 C、C. 在C程序中,无论是整数还是实数都能正确无误地表示 D、D. 在C程序中,%是只能用于整数运算的运算符 我的答案:C 此题得分:2.5分 3.(2.5分)以下不正确的C语言标识符是()。 A、A. ABC B、B. abc C、C. a_bc D、D. ab.c 我的答案:D 此题得分:2.5分 4.(2.5分)下列字符串是标识符的是:()。 A、A. _HJ B、B. 9_student C、C. long

D、D. LINE 1 我的答案:A 此题得分:2.5分 5.(2.5分)以下说法中正确的是()。 A、A. C语言程序总是从第一个定义的函数开始执行 B、B. 在C语言程序中,要调用的函数必须放在main()函数中定义 C、C. C语言程序总是从main()函数开始执行 D、D. C语言程序中的main()函数必须放在程序的开始部分 我的答案:C 此题得分:2.5分 6.(2.5分)在C语言中,字符型数据在内存中以()形式存放。 A、A. 原码 B、B. BCD码 C、C. 反码 D、D. ASCII码 我的答案:D 此题得分:2.5分 7.(2.5分)若有定义:int a=7; float x=2.5; y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是()。 A、A. 2.500000 B、B. 2.750000 C、C. 3.500000 D、D. 0.000000 我的答案:A 此题得分:2.5分 8.(2.5分)设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为()。 A、A. float B、B. char C、C. int D、D. double

2022年中国石油大学(北京)公共课《C语言》科目期末试卷A(有答案)

2022年中国石油大学(北京)公共课《C语言》科目期末试卷A(有 答案) 一、填空题 1、设有char a,b;若要通过a&b运算屏蔽掉a中的其他位,只保留第2和第8位(右起为第1位),则b的二进制数是_______。 2、结构化程序由________、________ 、________ 3种基本结构组成。 3、C语言源程序的基本单位是________ 4、若x和y都是double型变量,且x的初值为3.0,y的初值为2.0,则表达式.pow (y,fabs(x))的值为_______ 5、运算符%两侧运算量的数据类型必须都是_______;运算符++和一一的运算量必须是_______。 6、若有以下定义和语句,则在程序中可通过指针pt,用*(pt[i]+j)等4种形式引用数组元素x[i][],另3种形式分别是:_______、_______和_______。(假设ij已正确说明并赋值。) int x[10][6],(*pt)[6]; pt=x; 7、函数swap(arr,n)可对arr数组从第1个元素到第n个元素分别进行两两元素交换。在运行调用函数中的如下语句后,a[o]和a[1]的值分别为_______,原因是_______。 a[0]=1;a[1]=2;swap(a,2); 8、假设变量a、b和c均为整型,以下语句借助中间变量t把a、b和c中的值进行交换,即把b中的值给a,把c中的值给b,把a中的值给c。例如:交换前,a=10、b=20、c=30;交换后,a=20、b=30、c=10。请填空。 _______;a=b;b=c;_______;

9、已有定义int a;float b,x;char cl,c2;为使a=3、b=6.5、x=12.6、 cl='a'、c2='A',正确的scanf函数调用语句是_______,数据输入的形式应为 _______。 10、在C语言中,二维数组元素在内存中的存放顺序是_______。 二、选择题 11、若x、i、j和k都是int型变量,则执行表达式x=(i=4,j=16,k=32)后x的值为( )。 A.4 B.16 C.32 D.52 12、对应以下各代数式中,若变量a和x均为double类型,则不正确的C语言表达式是( ) 13、已有定义intx;floaty;且执行scanf("%3d%f”,&x,&y);语句,若从第一列开始输入数据12345口678<回车>,则 y的值为( )。(注:口表示空格) A.无定值 B.45.000000 C.678.000000 D.123.000000 14、根据下面的程序及数据的输入方式和输出形式,程序中输入语句的正确形式应该为。(注:口表示空格) #include int main() {char ch1,ch2,ch3;

2022年西安石油大学公共课《C语言》科目期末试卷B(有答案)

2022年西安石油大学公共课《C语言》科目期末试卷B(有答案) 一、填空题 1、若有以下定义和语句,为使变量c1得到字符’A',变量c2得到字符’B’,正确的输入形式是_______。 char cl,c2; scanf("%4c%4c",&cl,8&c2); 2、C语言源程序的基本单位是________ 3、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是 4、假设变量a、b均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为_______。 5、若有定义语句:inte=1,f=4,g=2;float m=10.5,n=4.0,k;,则执行表达式k=(e+f)/g+sqrt((double)n)*1.2/g+m后k的值是_______。 6、设有char a,b;若要通过a&b运算屏蔽掉a中的其他位,只保留第2和第8位(右起为第1位),则b的二进制数是_______。 7、执行下面程序段后,k的值是_______。 k=1;n=263; do{k*=n%10;n/=10;} while(n); 8、下面程序段的运行结果是_______。 int i=5;char c[6]="abcd"; do{c[i]=c[i-1];}while(--i>0); puts(c);

9、设有宏定义如下: #define MIN(x,y)(x)>(y)?(x):(y) #define T(x,y,r)x*r*y/4则执行以下语句后,s1的值为_______,s2的值为_______。 int a=1,b=3,c=5,s1,s2; s1=MIN(a=b,b-a); s2=T(a++,a*++b,a+b+c); 10、若有以下定义和语句,在程序中可通过指针数组p,用*(p[i]+j)等4种形式引用数组元素s[i][j],另3种形式分别是:_______、_______和_______。(假设i、j已正确说明并赋值。) int s[10][6],*p[10]; for(i=0;i<10;i++)p[i]=s[i]; 二、选择题 11、C语言中的标识符只能由字母、数字和下划线3种字符组成,且第一个字符( ) A.必须为字母 B.必须为下划线 C.必须为字母或下划线 D.可以是字母、数字和下划线中任一种字符 12、若有说明语句:charc='\72';则变量c( )。 A.包含1个字符 B.包含2个字符 C.包含3个字符 D.说明不合法,c的值不确定 13、一个C程序的执行是从() A.本程序的main函数开始,到main函数结束 B.本程序的第一个函数开始,到本程序文件的最后一个函数结束

2022年中国石油大学(华东)公共课《C语言》科目期末试卷A(有答案)

2022年中国石油大学(华东)公共课《C语言》科目期末试卷A(有 答案) 一、填空题 1、请读程序段: unsigned a=16; printf("%d,%d,%d\n",a>>2,a=a>>2,a);以上程序段的输出结果是_______。 2、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是 3、结构化程序由________、________ 、________ 3种基本结构组成。 4、若x和y都是double型变量,且x的初值为3.0,y的初值为2.0,则表达式.pow (y,fabs(x))的值为_______ 5、若有定义语句:ints=6;则表达式s%2+(s+1)%2的值为_______ 6、定义语句int*f();int(*f)();的含义分别为_______和_______。 7、下面程序段中循环体的执行次数是_______。 a=10;b=0; do{b+=2;a-=2+b;}while(a>=0); 8、假设变量a、b和c均为整型,以下语句借助中间变量t把a、b和c中的值进行交换,即把b中的值给a,把c中的值给b,把a中的值给c。例如:交换前,a=10、b=20、c=30;交换后,a=20、b=30、c=10。请填空。 _______;a=b;b=c;_______; 9、设有如下结构体说明:

{int a;float b; struct ST*c; doublex[3]; }st1;请填空,完成以下对数组s的定义,使其每个元素均为上述结构体类型。 _______ 10、下面程序wdm的运行结果是_______。 int i,x[10]={2,3,0,3,0,2,3,2,1,3},y[4]={0}; for(i=0;i<10;i++)y[x[i]]++; printf("%d\n",y[3]); 二、选择题 11、设有说明语句:char w;intx;float y;double z;则表达式w*x+z-y值的 数据类型为()。 A.float. B.char C.int D.double 12、若有说明语句:charc='\72';则变量c( )。 A.包含1个字符 B.包含2个字符 C.包含3个字符 D.说明不合法,c的值不确定 13、设有以下程序: #include int main() {int a=201,b=012; printf("%2d,%2d\n",a,B.;

石油大学-C语言-在线考试附答案

《C语言》综合复习资料 一、单选题 1. C语言中基本数据类型有< > A〕整型、实型、逻辑型B〕整型、字符型、逻辑型 C〕整型、实型、字符型D〕整型、实型、字符型、逻辑型 2. 在C语言中,数字029是一个< > A〕八进制数B〕十进制数C〕十六进制数D〕非法数 3. 在以下关于C语言的不严格的叙述中,错误的说法是< > A〕在标识符中,大写字母和小些字母的意义相同 B〕有些不同类型的变量可以在一个表达式中运算 C〕在赋值表达式中等号"=〞左边的变量和右边的值可以是不同类型 D〕同一个运算符号在不同的场合可以有不同的含义 4. 已知int a=4,b=5; ,这执行表达式a=a>b 后,变量a的值为< > A〕0 B〕1 C〕 4 D〕 5 5. 设有定义int a=3,b=4,c=5; ,则以下表达式中,值为0的表达式是< > A〕a&&b B〕a<=b C〕a||b+c&&b-c D〕!<&&!c||1> 6. 以下不合法的赋值语句是< > A〕x=<1,y=2>; B〕++x; C〕x=y=15; D〕y=int; 7. 已定义c为字符型变量,则下列语句中正确的是< > A〕c='97'; B〕c="97"; C〕c="a"; D〕c=97; 8. 能将高级语言编写的源程序转换为目标程序的软件是< > A〕汇编程序B〕编辑程序C〕解释程序D〕编译程序 9. 设有定义char *p="abcde\0fghjik\0〞; 则printf<"%d\n〞,strlen>;输出结果是< > A> 12 B> 15 C> 6 D> 5 10.以下选项中合法的实型常数是< > A> 5E2.0 B> E-3 C> .2E0 D> 1.3E 11.以下非法的赋值语句是< > A> n=; B> j++; C> ++; D> x=j>0; 12.已定义c为字符型变量,则下列正确的赋值语句是< > A〕c='66'; B〕c="66"; C〕c="B"; D〕c=66; 13.设a=3,b=4,c=-5,则逻辑表达式:a || b+c&& b==c 的值是< > A〕1 B〕0 C〕非0 D〕语法错 14.以下能正确定义数组并正确赋初值的语句是< > A〕int N=5,b[N][N]; B〕int a[1][2]={{1},{3}}; C〕int c[2][]= {{1,2},{3,4}}; D〕int d[3][2]={{1,2},{34}}; 15.结构化程序设计的三种基本结构是< >

中国石油大学(华东)C语言在线测评答案 第10章字符串(2013级亲测正确)

中国石油大学(华东)C语言在线测评答案第10章字符串(2013级亲测正确)

10.1 字符转换 描述提取一个字符串中的所有数字字符(‘0’...‘9’)将其转换为一个整数输出。 输入一个以回车符为结束标志的字符串(少于80个字符)。 输出把字符串中的所有数字字符 (‘0’...‘9’)转换为一个整数并输出。 #include #include int main() { char s[80]; int i,k,n=0; gets(s); k=strlen(s); for(i=0;i='0'&&s[i]<='9') n=n*10+(s[i]-'0'); printf("%d\n",n); return 0; } 10.2 合并字符串 输入两个已经按从小到大顺序排列好的字符串,编写一个合并两个字符串的函数,使合并后的字符串,仍然是从小到大排列。

输入:两个已经排好顺序(升序)的字符串 输出:一个合并在一起的有序(升序)的字符串 要求:设计一个效率尽量高的算法,对每个字符串只扫描一遍就可以了。 如果采用先进行串连接,然后再进行 排序的算法,则效率太低了。 #include #include int main() { char a[100],b[100],t; int k,i,j; gets(a); gets(b); strcat(a,b); k=strlen(a); /*冒泡法排序*/ for(i=1;ia[j+1]) { t=a[j]; a[j]=a[j+1];

东北石油大学c语言程序题

程序题 第六章 1.编写函数,求出能整除x且是偶数的各整数,并按从小到大的顺序依次存放在y数组中,这些数的个数通过函数值返回主调函数。例如输入 60 则应输出 2 4 6 10 12 20 30 60 请将下面的程序复制粘贴到VC中,完善函数fun的函数体,运行正确后,再将完整的程序复制粘贴到填写答案处。 } #include "stdio.h" int fun(int x,int y[]) { } main() { int x,a[100],n,i; scanf("%d",&x); n=fun(x,a); for(i=0;i

2.编写函数,求一组数中最大值出现的位置(如果最大值出现多次,求出第一次出现的下标)。请将下面的程序复制粘贴到VC中,完善函数fun的函数体,运行正确后,再将完整的程序复制粘贴到填写答案处。 #include "stdio.h" int fun(int a[],int n) { } main() { int a[100],n,i; scanf("%d",&n); for(i=0;imax){max=a[i];k=i;} return(k); } main() { int a[100],n,i; scanf("%d",&n); for(i=0;i

中国石油大学《C语言程序的设计》期末复习试题与答案

《C语言程序设计》期末复习题 一、选择题 1.能将高级语言编写的源程序转换成目标程序的是() A.链接程序 B.解释程序 C.编译程序 D. 编辑程序 2. 设 a 为整型变量,则不能正确表达数学关系10<a< 15的 C语言表达式是()。 A. 1010&&a<15 D.!(a<=10)&&!(a>=15) 3.当调用函数时,实参是一个数组名,则向函数传送的是( ) 。 A. 数组的长度 B.数组的首地址 C. 数组每一个元素的地址 D.数组每个元素中的值 4.执行下面的程序段后,k 的值是() int k=1,n=325; do { k*=n%10;n/=10;}while(n); A. 3 B. 30 C. 523 D. 325 5.若有以下数组说明,则i=6;a[a[i]]元素数值是()。 int a[12]={1,4,7,10,2,5,8,11,3,6,9,12}; A.3 B.8 C.6 D.5 6.若变量已正确定义,要求程序段完成求5! 的计算,不能完成此操作的程序段是() A. for(i=1,p=1;i<=5;i++) p*=i; B. for(i=1;i<=5;i++){ p=1; p*=i;} C. i=1;p=1;while(i<=5){p*=i; i++;} D. i=1;p=1;do{p*=i; i++; }while(i<=5); 7.若有: int a[][3]={{1,2,3},{4,5},{6,7},{8}};则数组 a 的第一维的大小为 : ( ) A. 12 B. 3 C. 4 D.无确定值 8.设有如下程序段,则执行 p=s; 语句后,以下叙述正确的是 ( ) 。 char s[20]=“ Bejing” ,*p; p=s; A.可以用 *p 表示 s[0] B. s 数组中元素的个数和p 所指字符串长度相等

中国石油大学华东C语言答案全集

【设计型】5.1 输出一行星号 编写程序在一行中输出N 个星号。 输入:N值 输出:一行中N个星号 #include int main() { int a,i; scanf("%d",&a); for(i=1;i<=a;i++) printf("*"); printf("\n"); return 0; } 【设计型】5.2 打印平行四边形 输入图形的高n ,输出如下例(n=5 )所示的图形. ***** ***** ***** ***** ***** 输入: 整数n例如5 输出: 由*组成的高为5的平行四边形 #include int main() { int i,j,num; scanf("%d",&num); for(i=0;i int main() { double n,i,sum,k=1.0;

scanf("%lf",&n); i=1,sum=0; while(i<=n) { sum=sum+k/i; i++; k=-k;(用这个式子实现正负交替) } printf("sum=%.4lf\n",sum); return 0; } 【设计型】5.4 分数序列 有一个分数序列:...............,输入整数n,求出其前n项的和。 输出语句格式为:printf("sum=%16.10f\n",s); #include int main() { int n,a,b,i,temp; double sum; scanf("%d",&n); i=1,sum=0,a=2,b=1; while(i<=n) { sum=sum+a*1.0/b; temp=a; a=a+b; b=temp;(几个式子实现数值的变换) i++; } printf("sum=%16.10f\n",sum); return 0; } 【设计型】5.5 求e的值 编写程序,从键盘输入整数n , 求e 的值. e=1+1/1!+1/2!+1/3!+..+1/n! 注意:用double 型数据计算输出语句:printf("sum=%16.10f\n",sum); #include int main() { int n,i; double sum,jc; scanf("%d",&n); i=1,sum=1.0 jc=1.0; while(i<=n) {

中国石油大学C语言上机题答案(2013版)答案_最全最详细

中国石油大学c语言上机题答案大全(2013版) 最全最详细 1.1 Hello world. 让我们用C语言向世界问好。 最早的程序基本是这个样子的: 程序一: #include void main() { printf("Hello world.\n"); } 程序二: #include int main() { printf("Hello world.\n"); return 0; } 上面的程序你任意模仿一个,看看是否可以通过?如果你能通过这个简单的程序,那就让我们继续完成后面的习题吧。 输入:无 输出:Hello world. #include int main() { printf("Hello world.\n"); } 1.2 Welcome to Beijing. 让我们来练习如何显示多行文字。 输入:无 输出:就是下面的那段文字。 #include void main() {printf("Welcome\n"); printf("to\n"); printf("Beijing.\n"); } 1.3 练习最简单的printf和scanf printf函数和scanf函数是C语言中最常用的函数之一,下面让我们练习一下吧。 输入:整型变量x的值。 输出:输出整型变量x对应的十进制、八进制和十六进制形式。 认真观察-1的八进制和十六进制输出,请想想是为什么。

#include int main() {int x; scanf("%d",&x); printf("x=%d,",x); printf("x=%o,",x); printf("x=%x\n",x); return 0; } 1.4 练习两个整数之间的运算 背景:基本练习。 输入:接受两个整数,每个整数之间使用空格分隔。例如输入格式为:123 444 输出:分别输出进行+、-、*、/、*之后的运行结果。 #include int main() {int x,y; scanf("%d%d",&x,&y); printf("%d+%d=%d\n",x,y,x+y); printf("%d-%d=%d\n",x,y,x-y); printf("%d*%d=%d\n",x,y,x*y); printf("%d/%d=%d\n",x,y,x/y); printf("%d%%%d=%d\n",x,y,x%y); return 0; } 1.5 学习打印你的第一个图形 背景:我们已经学习了printf函数,这里给出了一个小程序,它运行的结果是输出一个由星号(*)组成的4*4的正方形。 程序如下: #include int main() { printf("****\n"); printf("****\n"); printf("****\n"); printf("****\n"); return 0; } 要求:按照上面的程序范例,编写一个小程序,要求输出的是 4 行由*号组成的等腰三角形。 输入:无。 输出:指定图形。 #include int main() {

大一石油大学c语言网络作业答案

1.1 Hello world. 让我们用C语言向世界问好。 最早的程序基本是这个样子的: 程序一: #include void main() { printf("Hello world.\n"); } 程序二: #include int main() { printf("Hello world.\n"); return 0; } 上面的程序你任意模仿一个,看看是否可以通过?如果你能通过这个简单的程序,那就让我们继续完成后面的习题吧。 输入:无 输出:Hello world. #include int main() { printf("Hello world.\n"); } 1.2 Welcome to Beijing. 让我们来练习如何显示多行文字。 输入:无 输出:就是下面的那段文字。 #include void main() {printf("Welcome\n"); printf("to\n"); printf("Beijing.\n"); } 1.3 练习最简单的printf和scanf printf函数和scanf函数是C语言中最常用的函数之一,下面让我们练习一下吧。 输入:整型变量x的值。 输出:输出整型变量x对应的十进制、八进制和十六进制形式。 认真观察-1的八进制和十六进制输出,请想想是为什么。 #include int main() {int x; scanf("%d",&x); printf("x=%d,",x); printf("x=%o,",x); printf("x=%x\n",x); return 0; } 1.4 练习两个整数之间的运算 背景:基本练习。 输入:接受两个整数,每个整数之间使用空格分隔。例如输入格式为:123 444 输出:分别输出进行+、-、*、/、*之后的运行结果。#include int main() {int x,y; scanf("%d%d",&x,&y); printf("%d+%d=%d\n",x,y,x+y); printf("%d-%d=%d\n",x,y,x-y); printf("%d*%d=%d\n",x,y,x*y); printf("%d/%d=%d\n",x,y,x/y); printf("%d%%%d=%d\n",x,y,x%y); return 0; } 1.5 学习打印你的第一个图形 背景:我们已经学习了printf函数,这里给出了一个小程序,它运行的结果是输出一个由星号(*)组成的4*4的正方形。 程序如下: #include int main() { printf("****\n"); printf("****\n"); printf("****\n"); printf("****\n"); return 0; } 要求:按照上面的程序范例,编写一个小程序,要求输出的是 4 行由*号组成的等腰三角形。 输入:无。 输出:指定图形。 #include int main() { printf(" *\n"); printf(" ***\n"); printf(" *****\n"); printf("*******\n"); return 0; } 2.1 整型数的表示范围 编写一个循环程序,输入N 值,输出N 的阶乘。关于循环程序怎么编写,可以参考教材第3章P66页的例题4.2和第5章P82的例题5.1的内容。注意整型数的表示范围,如果当输入的N 比较大时,例如N 等于20 时,输出怎么是负数了?自己想明白吧! #include void main() {int N,i; int sum=1; N>=2; scanf("%d",&N); if(N<=16) {for (i=1;i<=N;i++) sum=sum*i; printf("%d\n",sum); } if(N>=17) printf("N is too big!\n");

相关主题
文本预览
相关文档 最新文档