0)程序的运行效果应类似地如图1所示" />
文档库 最新最全的文档下载
当前位置:文档库 › 成都大学本科C语言试题答案

成都大学本科C语言试题答案

成都大学本科C语言试题答案
成都大学本科C语言试题答案

成都大学C语言复习题

1.编写一程序P1-111.C实现以下功能

x(x只考虑整数int且必须定义为int、但F(x)完全可能超过int的表示范围)通过键盘输入(输入前给出提示Please input x:),然后计算并在屏幕上输出函数值。注意,图1中的括号不是<>而是(),编程可用素材:printf("Please input x:")...。

┌-5x+27(x<0)

F(x)=├7909(x=0)

└2x-1(x>0)

程序的运行效果应类似地如图1所示,图1中的3是从键盘输入的内容。

#include < stdio.h >

int main(void)

{

int x;

double y;

printf("Please input x:");

scanf("%d", &x);

if (x > 0)

{

y = (double) 2 * x - 1;

}

else

{

if (x == 0)

{

y = (double) 7909;

}

else

{

y = (double) - 5 * x + 27;

}

}

printf("\nF(%d) = %.0lf\n", x, y);

return 0;

}

2. P1-113已知某银行整存整取存款不同期限的年息利率分别为:

3.15%期限一年,3.63%期限二年,

4.02%期限三年,4.69%期限五年,

5.36%期限八年。从键盘上输入存钱的本金(以元为单位,必须定义为int且应考虑金额很大的情况)和存款期限(只考虑1,2,3,5,8),求到期时能从银行得到的利息(以元为单位,应考虑有小数,不计复利)。编程可用素材:

printf("\nPlease input benjin,cunqi:")...、printf("\nlixi=...yuan"...。

程序的运行效果应类似地如图1所示,图1中的10000,8是从键盘输入的内容。

#include < stdio.h >

int main(void)

{

int benjin, cunqi;

double lixi;

double money;

printf("\nPlease input benjin,cunqi:");

scanf("%d,%d", &benjin, &cunqi);

money = benjin;

if ( cunqi == 1 )

{

lixi = money * cunqi * 3.15 / 100;

}

else

{

if ( cunqi == 2 )

{

lixi = money * cunqi * 3.63 / 100;

}

else

{

if ( cunqi == 3 )

{

lixi = money * cunqi * 4.02 / 100;

}

else

{

if ( cunqi == 5 )

{

lixi = money * cunqi * 4.69 / 100;

}

else

{

if ( cunqi == 8 )

{

lixi = money * cunqi *5.36 / 100;

}

}

}

}

}

printf("\nlixi = %.2f yuan\n", lixi);

return 0;

}

3. P1-114编写一个简单计算器程序,输入格式为:data1op data2。其中data1和data2是参加运算的两个数(data1、data2必须定义为int,但二者相加可能超出int能表示的范围),op为运算符,它的取值只能是+、-、*、/、%。

程序的运行效果应类似地如图1、图2、图3、图4所示,图1中的3000+2000、图2中的3000%2000、图3中的3000%0和图4中的3000/0是从键盘输入的内容。

#include < stdio.h >

int main( void )

{

int data1, data2;

double jieguo;

char op;

printf("\nPlease input data1 op data2:");

scanf("%d %c %d", &data1, &op, &data2);

switch ( op )

{

case '+':

jieguo = ( double ) data1 + data2;

printf("\n%d%c%d=%.0f\n", data1, op, data2, jieguo);

break;

case '-':

jieguo = ( double ) data1 - data2;

printf("\n%d%c%d=%.0f\n", data1, op, data2, jieguo);

break;

case '*':

jieguo = ( double ) data1 * data2;

printf("\n%d%c%d=%.0f\n", data1, op, data2, jieguo);

break;

case '/':

if ( data2 != 0 )

{

jieguo = ( double ) data1 / data2;

printf("\n%d%c%d=%.0f\n", data1, op, data2, jieguo);

break;

}

else

{

printf("\nError! chu shu wei 0.\n");

break;

}

case '%':

if ( data2 != 0 )

{

jieguo = data1 % data2;

printf("\n%d%c%d=%.0f\n", data1, op, data2, jieguo);

break;

}

else

{

printf("\nError! chu shu wei 0.\n");

break;

}

default:

printf("\nError!\n");

}

return 0;

}

4.输入月份,打印2003年该月有几天。当输入的月份超范围时,应显示?Invalid month input?。

程序的运行效果应类似地如图1和图2所示,图1中的4和图2中的13是从键盘输入的内容。

#include < stdio.h >

int main( void )

{

int month;

int day;

printf("\nplease input the month number:");

scanf("%d", &month);

switch ( month )

{

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12:

day = 31;

printf("\n2003.%d has %d days.\n", month, day);

break;

case 4:

case 6:

case 9:

case 11:

day = 30;

printf("\n2003.%d has %d days.\n", month, day);

break;

case 2:

day = 28;

printf("\n2003.%d has %d days.\n", month, day);

break;

default:

printf("\nInvalid month input\n");

}

return 0;

}

5.已知某公司员工的保底薪水为500,某月所接工程的利润profit(整数)与利润提成的关系如下(计量单位:元):

profit≤1000没有提成;

1000<profit≤2000提成10%;

2000<profit≤5000提成15%;

5000<profit≤10000提成20%;

10000<profit提成25%。

请根据输入的利润计算员工的薪水。

程序的运行效果应类似地如图1所示,图1中的2000是从键盘输入的内容。

#include < stdio.h >

int main( void )

{

int profit;

double salary = 500;

printf("\nInput profit:");

scanf("%d", &profit);

if ( profit <= 1000 )

{

salary = 500;

}

if ( profit > 1000 && profit <= 2000 )

{

salary = salary + profit * 0.1;

}

if ( profit > 2000 && profit <= 5000 )

{

salary = salary + profit * 0.15;

}

if ( profit > 5000 && profit <= 10000 )

{

salary = salary + profit * 0.2;

}

if ( profit > 10000 )

{

salary = salary + profit * 0.25;

}

printf("salary=%.2f\n", salary);

return 0;

}

[]6.编写一程序P7-708.C实现以下功能

输入一个三位正整数,然后逆序输出。如输入123,则输出321。

程序的运行效果应类似地如图1所示,图1中的752是从键盘输入的内容。

#include

#include

/*int main(void)

{

int num, i;

char str[4];

printf("Input an integer:");

scanf("%d", &num);

itoa(num, str, 10);

printf("The result is ");

for(i = 2; i >= 0; i--)

{

printf("%c", str[i]);

}

printf("\n");

return 0;

}*/

int main(void)

{

int num;

printf("Input an integer:");

scanf("%d", &num);

printf("The result is ");

do

{

printf("%d", num%10);

num = num/10;

} while (num);

printf("\n");

return 0;

}

cf7. 编写一程序P7-713.C实现以下功能

用scanf输入某年某月某日,判断这一天是这一年的第几天?以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。注:判断年份是否为闰年的方法——为400的倍数为闰年,如2000年;若非100的倍数,而是4的倍数,为闰年,如1996年。

程序的运行效果应类似地如图1所示,图1中的2000-3-1是从键盘输入的内容。

#include

int main(void)

{

int ye, mo, da, sum = 0, i;

int mday[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};

printf("Please input: year-month-day\n");

scanf("%d-%d-%d", &ye, &mo, &da);

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

{

sum = sum + mday[i];

}

if ((ye % 400 == 0 || ye % 100 != 0 && ye % 4 == 0) && mo > 2)

{

sum++;

}

sum = sum + da;

printf("It is the %dth day.\n", sum);

return 0;

}

8. P7-723.C输入三角形的三边长a、b、c(边长可以是小数),求三角形面积area,并输出。如果输入的三边构不成三角形,应给出?data error?的信息提示。注:根据?海伦-秦九韶?公式,area=√p(p-a)(p-b)(p-c),其中p=(a+b+c)/2。

程序的运行效果应类似地如图1和图2所示,图1中的3,4,5和图2中的3,4,8是从键盘输入的内容。

#include < stdio.h >

#include < math.h >

int main( void )

{

double aa, bb, cc, pp, ss, tt;

printf("\nplease input triange sides:");

scanf("%lf,%lf,%lf", &aa, &bb, &cc);

if ( ( aa + bb > cc ) && ( aa + cc > bb ) && ( bb + cc > aa ) ) {

pp = ( aa + bb + cc ) / 2;

tt = pp * ( pp - aa ) * ( pp - bb ) * ( pp - cc );

ss = sqrt( tt );

printf("\narea=%.2lf\n", ss);

}

else

{

printf("\ndata error\n");

}

return 0;

}

9. 7-731输出n行星号,每行5个*星号。

程序的运行效果应类似地如图1所示,图1中的4是从键盘输入的内容。

#include < stdio.h >

int main( void )

{

int nn, i;

printf("\nplease input n:");

scanf("%d", &nn);

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

{

printf("* * * * *\n");

}

return 0;

}

10.编写一程序P7-736.C实现以下功能

从键盘上输入一个四位整数,计算各个位上的数字之和。

程序的运行效果应类似地如图1所示,图1中的1234是从键盘输入的内容。

#include

int main(void)

{

int num, sum = 0;

printf("Input a number with 4-digit: ");

scanf("%d", &num);

do

{

sum = sum + num % 10;

num = num / 10;

} while (num);

printf("sum=%d\n", sum);

return 0;

}

11. 从键盘输入3个整数,输出绝对值最大的数。

程序的运行效果应类似地如图1所示,图1中的1,2,3是从键盘输入的内容。

#include

int ab(int x);

int main(void)

{

int num[3], i, j;

printf("Input 3 numbers:");

scanf("%d,%d,%d", &num[0], &num[1], &num[2]);

j = 0;

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

{

if (ab(num[j]) < ab(num[i]))

{

j = i;

}

}

printf("The number with maximum absolute value is %d.\n", num[j]);

return 0;

}

int ab(int x)

{

if (x >= 0)

{

return x;

}

return - x;

}

12. 设某企业2006年的产值为5000万,计划以后每年的增长率为x(x从键盘输入,例如输入8.75表示8.75%),计算该企业的产值在哪年实现翻番以及翻番时的产值,然后输出(输出时以万为单位,应考虑有小数)。

程序的运行效果应类似地如图1所示,图1中的50是从键盘输入的内容。

#include < stdio.h >

int main(void)

{

float chanzhi = 5000, xx;

int year = 2006;

printf("\nPlease input x:");

scanf("%f", &xx);

while ( chanzhi < 10000 )

{

chanzhi = chanzhi * ( 1 + xx / 100 );

year++;

}

printf("\nyear = %d nian, chanzhi = %.2f\n", year, chanzhi);

return 0;

}

13.编写一程序P2-221.C实现以下功能

从键盘读入一个字符串(最多127个字符),检查该字符串是否是回文。所谓回文即正向与反向的拼写都一样,例如:adgda。

程序的运行效果应类似地如图1和图2所示,图1中的asdfghjhgfdsa和图2中的asdfghjhgfdsaa 是从键盘输入的内容。

#include < stdio.h >

#include < string.h >

int main( void )

{

int i, j, len;

char aa[128];

printf("\nPlease input string:");

gets(aa);

len = strlen(aa);

for ( i = 0, j = len - 1; i < j; i++, j--)

{

if ( aa[i] != aa[j] )

{

break;

}

}

if ( i >= j )

{

printf("\n%s shi hui wen.", aa);

}

else

{

printf("\n%s bu shi hui wen.", aa);

}

return 0;

}

14. 用scanf输入10个整数(采用int数据类型),计算所有正数的和、负数的和以及10个数的和。

程序的运行效果应类似地如图1所示,图1中的4620-453556-23-4970是从键盘输入的内容。

#include < stdio.h >

int main( void )

{

int aa[10], i;

float sum1 = 0, sum2 = 0, sum3 = 0;

printf("\nInput 10 integers.\n");

for ( i=0; i<10; i++ )

{

scanf("%d", &aa[i]);

}

for ( i=0; i<10; i++ )

{

if ( aa[i] > 0 )

{

sum1 = sum1 + aa[i];

}

else

{

sum2 = sum2 + aa[i];

}

sum3 = sum1 + sum2;

}

printf("\nzhengshu=%.0f,fushu=%.0f,all=%.0f\n", sum1, sum2, sum3);

return 0;

}

15. 7-732编写一程序P7-732.C实现以下功能,输入3行3列的矩阵,输出所有元素的累加和。

程序的运行效果应类似地如图1所示,图1中的

12 3

45 6

789

是从键盘输入的内容。

#include < stdio.h >

int main( void )

{

int i, j, aa[3][3], sum = 0;

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

{

for ( j = 0; j < 3; j++ )

{

scanf("%d", &aa[i][j]);

}

}

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

{

for ( j = 0; j < 3; j++ )

{

sum = sum + aa[i][j];

}

}

printf("sum=%d", sum);

return 0;

}

16. 编写一程序P7-743.C实现以下功能

从键盘输入一串可带空格的字符串,按逆序输出该字符串。注意,程序中不能使用库函数strrev 或使用同名的变量、函数、单词。

程序的运行效果应类似地如图1所示,图1中的abc xyz是从键盘输入的内容。

#include < stdio.h >

#include < string.h >

int main( void )

{

char aa[100], bb[100];

int i, j, len;

printf("Input a string:");

gets(aa);

len = strlen(aa);

bb[len]='\0';

for ( i = 0, j = len - 1; i < len; i++, j-- )

{

bb[j] = aa[i];

}

printf("The result is:");

puts(bb);

return 0;

}

17. 从键盘输入一个一百分制成绩,如果不在0~100范围内,则要求重新输入数据,直到输入的数据在0~100范围内。将输入的数据转换成等级‘A’,‘B’,‘C’,‘D’,‘E’。90分以上为‘A’,80~89分为‘B’,70~79分为‘C’,60~69分为‘D’,60分以下为‘E’,要求使用switch case/default 语句,结果赋值给变量grade,并将变量grade的值输出到屏幕上。

注意:变量数据类型的选择应适当,在保证满足设计要求精度的情况下,养成不浪费内存空间和计算时间的好习惯。编程可用素材:printf("please input the score(0-100):")...、printf("score=...,grade=...\n",...。

程序的运行效果应类似地如图1所示,图1中的103和55是从键盘输入的内容。

#include < stdio.h >

int main( void )

{

float score;

char grade;

printf("please input the score(0-100):");

scanf("%f", &score);

while ( score > 100 || score < 0 )

{

printf("\nplease input the score(0-100):");

scanf("%f", &score);

}

switch ( ( int ) (score / 10 ))

{

case 10:

case 9:

grade = 'A';

break;

case 8:

grade = 'B';

break;

case 7:

grade = 'C';

break;

case 6:

grade = 'D';

break;

default:

grade = 'E';

}

printf("score=%.1f,grade=%c\n", score, grade);

return 0;

}

18. 编写一程序P7-750.C实现以下功能

输入字符串s(不超过100个字符),将字符串s中所有字符‘*’删除,并将修改后的字符串显示出来。

程序的运行效果应类似地如图1所示,图1中的*dgjk*%&**df78dg88**是从键盘输入的内容。

#include

int main( void )

{

int i;

char ss[101];

printf("Please input a string:");

gets(ss);

for (i = 0; ss[i]; i++)

{

if ( ss[i] != '\0' && ss[i] != '*')

{

printf("%c", ss[i]);

}

}

printf("\n");

return 0;

}

19.键盘输入m,n(不超过1000的正整数),输出介于m和n(含m和n)中能被3整除且至少有位数字是5的所有整数。

程序的运行效果应类似地如图1和图2所示,图1中的100,200和图2中的195,15是从键盘输入

的内容。

#include

int main(void)

{

int mm, nn, i, kk;

printf("Input m, n:");

scanf("%d,%d", &mm, &nn);

if (mm > nn)

{

kk = mm;

mm = nn;

nn = kk;

}

for (i = mm; i <= nn; i++)

{

if (i % 3 == 0 && (i % 10 ==5 || i % 100 / 10 == 5 || i / 100 == 5))

{

printf("%d ", i);

}

}

return 0;

}

20. 计算X的Y次方,其中Y为整数(可以是负整数或0),X为实型。注意,程序中不能使用库函数pow或使用同名的变量、函数、单词。

程序的运行效果应类似地如图1和图2所示,图1中的3.7,5和图2中的4,-2是从键盘输入的内容。

#include

int main(void)

{

int yy, i;

double xx, result = 1;

printf("Input x, y:");

scanf("%lf,%d", &xx, &yy);

if (yy > 0)

{

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

{

result = result * xx;

}

}

if (yy < 0)

{

for (i = 1; i <= - yy; i++)

{

result = result / xx;

}

}

printf("%.6lf^%d=%.6lf\n", xx, yy, result);

return 0;

}

分类二

考试:21. 求S=1/1!+1/2!+1/3!+…+1/N!并输出结果(显示时小数部分占16位,计算时要求从第1项开始往后累加)。N为任意自然数(只考虑int型),从键盘读入。

程序的运行效果应类似地如图1所示,图1中的18是从键盘输入的内容。

#include < stdio.h >

int main( void )

{

int i, nn;

double ss = 0, tt = 1;

printf("Please input n:");

scanf("%d", &nn);

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

{

tt = tt * i;

ss = ss + 1 / tt;

}

printf("\ns=1/1!+1/2!+...+1/%d!=%.16f\n", nn, ss);

return 0;

}

22. 编写一程序P2-219.C实现以下功能

从键盘读入一行字符(最多127个字符),将其中的数字字符以及这些数字字符的数量在屏幕上显示,注意:要求先显示这些数字字符的数量。

程序的运行效果应类似地如图1所示,图1中的gfaskl45623cvsac,53dwafl faf32535as3bf0是从键盘输入的内容。

#include < stdio.h >

#include < string.h >

int main( void )

{

int i, j = 0, num = 0;

char aa[128], result[128];

printf("\nPlease input string:");

gets(aa);

for ( i = 0; aa[i]; i++ )

{

if ( aa[i] >= '0' && aa[i] <= '9' )

{

num++;

result[j] = aa[i];

j++;

}

}

result[j] = '\0';

printf("\nshu zi ge shu wei:%d\nshu zi wei:%s\n", num, result);

return 0;

}

23. 编写一程序P2-220.C实现以下功能

从键盘读入一行字符(最多127个字符),统计及输出其中的字母、数字、空格和其他符号的个数。

程序的运行效果应类似地如图1所示,图1中的gfaskl45623cvsac,53dwafl faf32535是从键盘输入的内容。

#include < stdio.h >

#include < string.h >

int main(void)

{

int i, zimu = 0, shuzi = 0, kongge = 0, qita = 0;

char aa[128];

printf("\nPlease input string:");

gets(aa);

for ( i = 0; aa[i]; i++ )

{

if ( aa[i] >= 'a' && aa[i] <= 'z' || aa[i] >= 'A' && aa[i] <= 'Z' )

{

zimu++;

}

else if ( aa[i] >= '0' && aa[i] <= '9' )

{

shuzi++;

}

else if ( aa[i] == ' ' )

{

kongge++;

}

else

C语言试题及答案

一、单项选择题 1. 软件危机具有下列表现( d )。 I. 对软件开发成本估计不准确II. 软件产品的质量往往靠不住 III. 软件常常不可维护IV. 软件成本逐年上升 A. I、II和III B. I、III和IV C. II、III和IV D. 以上都正确 2. 软件生命周期一般都被划分为若干个独立的阶段,其中占用精力和费用最多的阶段往往是( A )。 A. 运行和维护阶段 B. 设计阶段 C. 代码实现阶段 D. 测试阶段 3. 下列属于软件的特点的是( D )。 A. 软件是一种逻辑实体,具有抽象性 B. 软件在使用过程中没有磨损、老化的问题 C. 软件不同于一般程序,它的一个显着特点是规模庞大,复杂程度高 D. 以上都正确 4. 软件工程的出现是由于( D )。 A. 软件危机的出现 B. 计算机硬件技术的发展 C. 软件社会化的需要 D. 计算机软件技术的发展 5. 软件开发技术不包含( d )。 A. 软件开发方法学 B. 软件工程环境 C. 软件工具 D. 软件质量度度量 6. 软件工程的课程特点( D )。 I. 学科理论及其知识应用的多维性 II. 工程化 III. 浓厚的方法学色彩 IV. 实践性、指导性强 A. I、II和III B. I、III和IV C. II、III和IV D. 以上都正确 7. 下列属于应用软件的是( b )。 I. 计算机辅助教学软件II. 软件测试工具 III. 办公自动化软件IV. 工程与科学计算软件 A. I、II和III B. I、III和IV C. II、III和IV D. 以上都正确 8. 需求分析阶段最重要的技术文档是( b )。

C语言试卷及答案

《C语言程序设计》考试试卷(答案) 一、填空题(每小空1分,共10分) 1.C语言程序的三种基本结构是顺序结构、选择结构、循环结构。 2.一个C程序有且仅有一个main( ) 函数。 3.C语言描述“x和y都大于或等于z”的表达式是x>=z && y>=z。 4.C语言可以用来实现循环的结构化语句是while、do while、for。 5.数组名表示数组在内存的首地址。 6.int a=3,*p=&a;*p+2的值是5。 二、单项选择题(每小题2分,共70分) 1.__B___是C语言合法的常量。 (A).45(B)078 (C)25.6e3.4 (D)‘xy’2.一个程序的执行是从 A 。 (A)本程序的main函数开始,到main函数结束 (B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。 (C)本程序的main函数开始,到本程序文件的最后一个函数结束。 (D)本程序文件的第一个函数开始,到main函数结束。 3.以下叙述正确的是 C 。 (A)在C程序中,main函数必须位于程序的最前面。 (B)C程序每行中只能写一条语句。 (C)C语言本是没有输入输出语句。 (D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误。 4.以下叙述不正确的是 D 。 (A)逗号运算符的运算级最低。 (B)ABC和abc是两个不同的变量。 (C)若a和b类型相同,在执行a=b后,b的自身值不变。 (D)‘a’和“a”是完全等价的常量。 5.int x=3,y=2;则表达式x+=x*=y+8的值为 C 。 (A)28 (B)30 (C)60(D)17 6.设x=2.7,a=8,y=4.9,算术表达式x+a%3*(int)(x+y)%5/3的值为 B 。 (A)2.7 (B)3.7(C)4.7 (D)4.03 7.执行下面两个语句后,输出的结果为__D___。 char c1=98; printf(“%d %c”,c1,c1-32); (A)97 66 (B)98 b (C)b 66 (D)98 B 8.执行下面语句后的结果为 C 。 y=10;x=y++; (A)x=10,y=10 (B)x=11,y=11 (C)x=10,y=11(D)x=11,y=10 9.Char w;int x;float y;double z;则表达式w*x+z-y值的数据类型是A 。 (A)double (B)char (C)int (D)float 10.C语言中要求操作数必须是整数的运算符是 B 。

c语言期末测试题附答案

c语言期末测试题附答 案 集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#

课程代码:A100002 座位号: 《计算机技术基础(C 语言)》试卷A 姓名: 学号: 专业: 学院: 班级: 20 年 月 日 第一 部分 选择题(共 30 分) 一、单项选择题(本大题共 15 小题,每题只有一个正确答 案,答对一题得 2 分,共 30 分) 1、以下关于C 语言标识符的描述中,正确的是 【 】。 A )标 识符可以由汉字组成 B )标识符只能以字母开头 C )关键字可以作为用户标识符 D )Area 与area 是不同的标识符 2、使下列程序段输出“123,456,78”,键盘输入数据,正确的输入是【 】。 int i,j,k; scanf(“%d,%3d%d”,&i,&j,&k); printf(“%d,%d,%d \n”,i,j,k); 3、判断char 类型的变量c1是否为数字字符的正确表达式为 【 】。 A) (c1>=0)&&(c1<=9) B) (c1>=’0’)&&(c1<=’9’) C) ’0’<=c1<=’9’ D) (c1>=’0’)||(c1<=’9’) 4、若有语句int a=1,b=2,c=3;则以下值为0的表达式是 【 】。 A )’a’&&’b’ B )a<=b C )((a>b)||(b0;i--);后,变量i 的值为 【 】。 A )10 B )9 C )0 D )1 8、若有int *p1, *p2,k; 不正确的语句是 【 】 A. p1=&k B. p2=p1 C. *p1=k+12 D. k=p1+p2 9、在函数中未指定存储类别的局部变量,其隐含的存储类别是 【 】

c语言试题及答案

1、以下正确的说法是( B ) (A) 用户若需要调用标准库函数,调用前必须重新定义 (B) 用户可以重新定义标准库函数,若如此,该函数将失去原有含义 (C) 系统根本不允许用户重新定义标准库函数 (D) 用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调 2、以下正确的函数声明形式是( A ) (A) double fun(int x, int y) (B) double fun(int x; int y) (C) double fun(int x, int y); (D) double fun(int x,y); 3、以下正确的函数形式是( D ) (A) double fun(int x, int y) { z=x+y; return z;} (B) fun(int x,y) { int z; return z;} (C) fun(x,y) { int x,y; double z; z=x+y; return z;} (D) double fun(int x, int y) { double z; z=x+y; return z;} 4、以下正确的说法是( A ) 在C语言中 (A) 实参和与其对应的形参各占用独立的存储单元 (B) 实参和与其对应的形参共占用一个存储单元 (C) 只有当实参和与其对应的形参同名时才共占用存储单元 (D) 形参是虚拟的,不占用存储单元 5、若调用一个函数,且此函数中没有return语句,则正确的说法是( A ) 该函数 (A) 没有返回值 (B) 返回若干个系统默认值 (C) 能返回一个用户所希望的函数值 (D) 返回一个不确定的值 6、以下不正确的说法是( B ) C语言规定 (A) 实参可以是常量、变量和表达式 (B) 形参可以是常量、变量和表达式 (C) 实参可以为任意类型 (D) 形参应与其对应的实参类型一致 7、以下正确的说法是( C ) (A) 定义函数时,形参的类型说明可以放在函数体内 (B) return后边的值不能为表达式 (C) 如果函数值的类型与返回值类型不一致,以函数值类型为准 (D) 如果形参与实参的类型不一致,以实参类型为准 8、C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是( B ) (A) 地址传递 (B) 单向值传递 (C) 由实参传给形参,再由形参传回给实参 (D) 由用户指定传递方式

c语言期末考试及答案讲解

C语言考试模拟试卷 1.若有定义:char c;int d;程序运行时输入:c=1,d=2<回车>,能把字符1输入给变量c、整数2输入给变量d的输入语句是 A、scanf("c=%d d=%d",&c,&d); B、scanf("c=%c d=%d",&c,&d); C、scanf("c=%d,d=%d",&c,&d); D、scanf("c=%c,d=%d",&c,&d); 【答案】D 【解析】scanf()函数中,%d对应的参数是整数型地址,%c对应参数为char 型地址,C,A选项错误;如果输入地址有多个,应该用逗号隔开,B选项错误,故答案为D选项。 2.以下叙述错误的是 A、在进行模块化程序设计的时候,应首先完成每个模块的编写调试,再集中考虑主程序中的算法 B、同一程序各模块可由一组人员同时进行编写调试,可提高编写程序的效率 C、模块化的程序设计是采用自顶向下、逐步细化的原则 D、程序的每个模块都可通过三种基本结构实现 【答案】A 【解析】结构化程序设计把一个复杂问题的求解过程分阶段进行,需要保证自顶向下、逐步细化、模块化设计、结构化编码。进行模块化设计时,首先设计框架,并定义和调试好各个模块之间的输入输出关系,然后完成各个模块的编写调试后

再集中编译,模块化的程序设计采用自顶向下、逐步细化的原则,A选项叙述错误,C选项叙述正确。各个模块可以由不同人员同时进行编写调试,提高编写程序的效率,B选项叙述正确。结构化程序主要由3种基本控制结构组成,顺序结构、选择结构、循环结构,这三种基本结构可以解决任何复杂的问题,D选项叙述正确。故选择A选项。 3.设有定义:int a=0,b=1,c=1; 以下选项中,表达式值与其它三个不同的是 A、b=a==c B、a=b=c C、a=c==b D、c=a!=c 【答案】A 【解析】赋值运算结合性为由右向左结合,赋值运算符左值为变量,右值为变量或常量,且左右两边数据类型相同才能实现赋值。成功实现赋值后以左值为返回值。逻辑表达式成立则返回1,不成立返回0。A选项逻辑表达式a==c不成立(0),则 b=0,表达式值为0。B选项中将c赋值给b,b=1,再将b赋给a,a=1,表达式值为1。C选项逻辑表达式c==b成立(1),则a=1,表达式值为1。D选项逻辑表达式a!=c成立(1),则c=1,表达式值为1。A选项与其他选项不同,A选项正确。 4.设有两行定义语句:

(完整版)C语言试题及答案解析

C语言 一、选择题(第题2分,共20分) 1.一个C程序的执行是从 A 。 A) 本程序的main函数开始,到main函数结束 B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C) 本程序文件的第一个函数开始,到本程序main函数结束 D) 本程序的main函数开始,到本程序文件的最后一个函数结束 2.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为 C 。 x=(i=4,j=16,k=32) A) 4 B) 16 C) 32 D) 52 3.设C语言中,一个int型数据在内存中占2个字节,则unsigned int 型数据的取值范围为 C 。 A) 0~255 B) 0~32767 C) 0~65535 D) 0~2147483647 4.设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为 D 。 A) float B) char C) int D) double 5. putchar函数可以向终端输出一个 D 。 A) 整型变量表达式 B) 实型变量值 C) 字符串 D) 字符或字符型变量值 6. printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式 B ;如果字符串长度小于5,则输出按方式 C 。 A) 从左起输出该字符串,右补空格 B) 按原字符长从左向右全部输出 C) 右对齐输出该字符串,左补空格 D) 输出错误信息 7.判断char型变量ch是否为大写字母的正确表达式是 C 。 A) ‘A’<=ch<=‘Z’ B) (ch>=‘A’)&(ch<=‘Z’) C) (ch>=‘A’)&&(ch<=‘Z’) D) (‘A’<= ch)AND(‘Z’>= ch) 8.已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是 B 。 if(x>y) z=x; x=y; y=z; A) x=10, y=20, z=30 B) x=20, y=30, z=30 C) x=20, y=30, z=10 D) x=20, y=30, z=20 9.以下程序段______C__. x=-1; do{ x=x*x; } while(!x); A)是死循环 B)循环执行二次 C)循环执行一次 D)有语法错误 10.以下正确的描述是___B____. A)continue语句的作用是结束整个循环的执行

C语言试卷及答案

一、选择题(每题 1 分,共 20 分) 1. C 语言程序的三种基本结构是顺序结构、选择结构和结构。 A、循环 B、递归 C、转移 D、嵌套 2. 下列标识符中,合法的是_______ 。 A) unsigned B) 5ab C) INT# D)_num2 3. 若float x ;x = 10/4 ;x的值是。 A、2.5 B、2.0 C、3 D、 2 4. 表达式!x 等价于。 A、x==0 B、x==1 C、x != 0 D、x != 1 5. 算术运算符、赋值运算符和关系运算符的运算优先级按从高到低的顺序依次为。 A、算术运算、赋值运算、关系运算 B、关系运算、赋值运算、算术运算 C、算术运算、关系运算、赋值运算 D、关系运算、算术运算、赋值运算 6. 能将高级语言编写的源程序转换为目标程序的是。 A、链接程序 B、解释程序 C、编译程序 D、编辑程序 7. 下列语句定义pf为指向float类型变量f的指针,是正确的。 A、float f, *pf = f; B、float f, *pf = &f; C、float *pf = &f, f; D、float f, pf = f; 8. 一个C程序的执行是从。 A、本程序的main函数开始,到main函数结束 B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C、本程序的main函数开始,到本程序文件的最后一个函数结束 D、本程序文件的第一个函数开始,到本程序main函数结束 9. 能正确表示“当x的取值在[1,10]或[[200,210]范围内为真,否则为假”的表达式是________。 A、(x>=1)&&(x<=10)&&(x>=200)&&(x<=210) B、(x>=1)||(x<=10)||(x>=200)||(x<=210) C、(x>=1)&&(x<=10)||(x>=200)&&(x<=210) D、(x>=1)||(x<=10)&&(x>=200)||(x<=210) 10. 对两个数组a和b进行如下初始化 char a[]=“ABCDEF”;char b[]={ …A?,?B?,?C?,?D?,?E?,?F?}; 则以下叙述正确的是。 A、a和b数组完全相同 B、a和b长度相同 C、a和b中都存放字符串 D、a数组比b数组长度长 11. 是不正确的字符常量。 A、'\n' B、'1' C、"a" D、'\101' 12. 若变量已正确定义,语句“if(a>b) k=0; else k=1;”和等价。 A、k=(a>b)?1:0; B、k=a>b; C、k=a<=b; D、a<=b ? 0 : 1; 13. 设变量定义为“int x, *p=&x;”,则&*p相当于。 A、p B、*p C、x D、*&x 14. 有两个字符数组a、b,则以下正确的输入语句是。 A)gets(a,b); B) scanf(“%s%s”,a,b); C) scanf(“%s%s”,&a,&b); D) gets(“a”),gets(“b”); 15. C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是。 A、地址传递 B、单向值传递

C语言全部题目及答案

C语言全部题目及答案 SANY GROUP system office room 【SANYUA16H-

C语言全部题目及答案 Exercise 1: Programming Environment and Basic Input/Output 1.Write a program that prints “This is my first program!” on the screen. (a)Save this program onto your own disk with the name of e2-1a; (b)Run this program without opening Turbo C; (c)Modify this program to print “This is my second program!”, then save it as e2-1b. Please do not overwrite the first program. 2.Write a program that prints the number 1 to 4 on the same line. Write the program using the following methods: (a)Using four “printf” statements. (b)Using one “printf” statement with no conversion specifier(i.e. no ‘%’). (c)Using one “printf” statement with four conversion specifiers 3.(a) Write a program that calculates and displays the number of minutes in 15 days. (b) Write a program that calculates and displays how many hours 180 minutes equal to. (c) (Optional) How about 174 minutes?

大学C语言期末考试习题集(带详解答案)

一、单项选择题 1.(A)是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 2.C语言程序从 C开始执行。 A) 程序中第一条可执行语句 B) 程序中第一个函数 C) 程序中的main函数 D) 包含文件中的第一个函数 3、以下说法中正确的是(C)。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B)。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C)。 A.-a1 B.a[i] C.a2_i D.int t 5~8题为相同类型题 考点:标识符的命名规则 (1)只能由字母、数字、下划线构成 (2)数字不能作为标识符的开头 (3)关键字不能作为标识符 选项A中的“-”,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3) 6.下列C语言用户标识符中合法的是( B)。 A)3ax B)x C)case D)-e2 E)union 选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1); 7.下列四组选项中,正确的C语言标识符是(C)。 A) %x B) a+b C) a123 D) 123 选项A中的“%”,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2) 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。 A、print _3d db8 aBc B、I\am one_half start$it 3pai

c语言试题及答案 ()

第1章 C语言概述习题 1. 单项选择题 (1) C 语言是在 B 语言的基础上产生的。 A. 回车符 B. 冒号 C. 逗号 D. 分号 (2) 在 C 语言中,每个语句必须以 D 结束。 A. 回车符 B. 冒号 C. 逗号 D. 分号 (3) 标识符和关键字间,要用 C 隔开。 A. 回车符 B. 冒号 C. 空格 D. 分号 (4) 用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( B )。 A. 生成可执行目标文件 B. 生成目标文件 C. 输出运行结果 D.自动保存源文件 (5) 下列说法中正确的是( B )。 A. 由于 C 源程序是高级语言程序,因此一定要在 TC 软件中输入 B. 由 C 源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入 C. 由于C 程序是高级语言程序,因此输入后即可执行 D. 由于 C 程序是高级语言程序,因此它由命令组成 (6) 下列说法中正确的是( A )。 A. C 语言程序由主函数和 0 个或多个函数组成 B. C 语言程序由

主程序和子程序组成 C. C 语言程序由子程序组成 D. C 语言程序由过程组成 (7) 下列说法中错误的是( D )。 A. 主函数可以分为两个部分:主函数说明部分和主函数体 B. 主函数可以调用任何非主函数的其他函数 C. 任何非主函数可以调用其他任何非主函数 D. 程序可以从任何非主函数开始执行 2. 填空题 (1) C 语言只有 37 个关键字和 9 种控制语句。 (2) C 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系统软件又适合于编写应用程序。 (3) 每个源程序有且只有一个主函数,系统总是从该函数开始执行C语言程序。 (4) 在 C 语言程序中允许出现的字符集是 ASCII码字符集。 (5) C 语言的程序中有特殊含义的英语单词称为保留字。 (6) C 语言标识符的长度是前 8 位有效。 (7) C 语言中,标识符的定义规则是以字母或下划线为开头。 (8) C 语言程序的注释可以出现在程序中的任何地方,它总是以 /* 符号作为开始标记,以 */ 符号作为结束标记。

C语言期末考试试题及答案

个人收集整理-仅供参考 2008-2009学年第一学期期末考试试卷 考试说明:本课程为闭卷考试,可携带书写与修正文具,满分为:100 分. 考试结束后请将后页答题卡与试卷分开上交 ..... 一、单选题<每题2分,共30分) 1.以下叙述正确地是 ______ . A)C程序地每行只能写一条语句 B>语言本身没有输入输出语句 C)在C程序中,注释说明只能位于一条语句地后面 D)在多函数地程序中,main函数必须放在其它子函数地定义之前 2.以下不正确地常量表示形式是 ______ . A> 0.45 B>0XF5 C>‘\85’D> 32.67E-5 3. 以下不正确地变量名是 ______ . A)R&B B> _max C>INT D> SUM3 4. 以下正确地一组语句是 ________. A> int x=y=5; B> int n; scanf("%d",&n>;int a[n]; C> char a,*p; p=&a; D> char s[10]; s="hello"; 5. 若以下变量均已正确定义和赋值,则正确地语句是 ________. A> a=b==5; B> y=x%2.0; C> x+y=10; D> n=8=2*4; 6.下面各组中与给出地程序段功能不等价地是 ________. if(a>0> b=1; else if(a==0> b=0; else b=-1; A>if(a>0> b=1; B>if(a>0> b=1; C>if(a>0> b=1; D>if(a>=0> if(a==0> b=0; else if(a==0> b=0; if(a>0> b=1; if(a<0> b=-1; if(a<0> b=-1; else b=-1; if(a==0> b=0; else b=0; if(a<0> b=-1; 7. 运行下面程序段,若输入abc#,则程序输出是:________. char c;int v1=0,v2=0; while((c=getchar(>>!='#'> { switch(c> { case 'a':v1++; default :v1++;v2++; case 'c':v2++; } } printf("v1=%d,v2=%d\n",v1,v2>; A>2,2 B>3,5 C> 3,4 D>2,5

c语言试卷及答案1

浙江理工大学 C程序设计试题(一) 试题二、语言基础题(本题共30分) (一)判断题(本题共10分,每小题1分) 说明:在以下提供的若干陈述中,逐一判断其正确与否,选A表示正确,选B表示错误。 (16) C语言程序的三种基本结构是顺序、选择和嵌套。 (17) 在C语言程序中,在函数内部定义的变量称为全局变量。 (18) 运算符“=”和“&=”的优先级相同。 (19) ‘%f’是不正确的字符常量。 (20) 运算符“+”不能作为单目运算符。 (21) 如果运算符“*”和“/”都是右结合的,则表达式10*6/5的值是10。 (22) s(s-a)(s-b)(s-c)是合法的C语言表达式。 (23) 表达式!!6的值是6。 (24) 表达式~(~2<<1)的值是5。 (25) 对于变量定:int a[10],*p=a+8;数组a的最后一个元素是p[1]。 (二)单选题(本题共20分,每小题2分) (26) 执行语句printf("(26) ","A");将得到出错信息。 A、%u B、%s C、%e D、%d (27) 设c是一个字符变量,求解表达(27) 后,c的值不是1就是0。 A、c=getchar()!=’\n’ B、(c=getchar()!)=’\n’ C、c=’1’ D、c=EOF (28) 下列定义中,(28) 定义的变量可以存放-123.4。 A、long a; B、unsigned b; C、int d; D、float c; (29) 对于变量定义;char *pp[100],pp是一个(29) 。 A、函数 B、数组元素 C、指针变量 D、数组 (30) 下列程序段的输出结果是(30) 。 char *st[ ]={ "SUM","MOON","STAR","X"}; printf("(%s,%c) ",*(st+1)+1,*(*(st+2)+2)+2) A、(MOON,M) B、(OON,C) C、(OON,Q) D、(OON,A) (31) 对于以下的变量定义,表达式(31) 是不正确的。 struct node { float x,y;

C语言期末考试题含答案

C语言期末考试题含答 案 文档编制序号:[KKIDT-LLE0828-LLETD298-POI08]

《C 语言程序设计》期末试卷 一、单项选择题(10x2’=20’) 1、以下叙述正确的是( ) A )C 语言的源程序不必通过编译就可以直接运行。 B ) C 语言中的每条可执行语句最终都将被转换成二进制的机器指令。 C )C 语言源程序经编译形成的二进制代码可以直接运行。 D )C 语言中的函数不可以单独进行编译。 2、一个C 语言的源程序中( ) A )必须有一个主函数 B )可能有多个主函数 C )必须有除主函数外其它函数 D )可以没有主函数 3、以下不能定义为用户标识符的是( ) A )scanf B )Void C )_3com D )int 4、若以下选项中的变量已正确定义,则正确的赋值语句是( ) A )x1=%3; B )1+2=x2; C )x3=0x12; D )x4=1+2=3; 5、设有定义:float a=2,b=4,h=3;以下C 语言表达式中与代数式h b a *)(21 的计算结果不. 相符的是( ) A )(a+b)*h/2 B )(1/2)*(a+b)*h C )(a+b)*h*1/2 D )h/2*(a+b) 6、C 语言中用于结构化程序设计的3种基本结构是( ) A )顺序结构、选择结构、循环结构 B )if 、switch 、break C )for 、while 、do-while D )if 、for 、continue

7.在while(!x)语句中的!x与下面条件表达式等价的是() A) x!=0 B) x==1 C) x!=1 D) x==0 8、有以下程序: #include <> void main(){ int i=1,j=1,k=2; if( (j++||k++)&&i++ ) printf(“%d,%d,%d\n”,i,j,k);} 执行后的输出结果是() A)1,1,2B)2,2,1C)2,2,2D)2,2,3 9、有以下程序: #include <> void main(){ int i,s=0; for(i=1;i<10;i+=2) s+=i+1; printf(“%d\n”,s);} 程序执行后的输出结果是() A)自然数1~9的累加和B)自然数1~10的累加和 C)自然数1~9中奇数之和D)自然数1~10中偶数之和 10、有以下函数定义: void fun(int n,double x){……} 若以下选项中的变量都已经正确定义并赋值,则对函数fun的正确调用语句是() A)fun(int y,double m); B)k=fun(10,; C)fun(x,n); D)void fun(n,x); 二、填空题(10x2’=20’) 11、C语言描述“x和y都大于或等于z”的表达式是:。 12、函数定义时涉及的基本要素是:、、。

C语言期末考试复习题及答案

C语言期末考试复习题及答案 一、选择题:下列各题A)、B)、C)、D)四个选项中只有一个是正 确的,请将正确的选项涂写在答案纸上。答在试卷上不得分。 (1)C语言规定:在一个源程序中,main函数的位置 D 。 A)必须在最后B)必须在系统调用的库函数的后面。 C)必须在最开始。。D)可以任意 (2) C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符 A 。 A)必须为字母或下划线。。B)必须为下划线。 C)必须为字母D)可以是字母、数字和下划线中的任一种字符。 (3)下面四个选项中,均是正确的八进制数或十六进制数的选项是 B 。 A)-10 0x8f -011 B) 010 -0x11 0xf1 C) 0abc -017 0xc D) 0a12 -0x123 -0xa (4) C语言中int型数据在内存中占两个字节,则unsegned int取值范围是 A 。 A)0 ~ 65535 B)0 ~ 32767 C)-32767 ~ 32768 D)-32768 ~ 327687 (5) 若有定义:int a = 7; floa x = , y = ; 则表达式x + a % 3 * (int) (x + y) % 2/4 的值是 D 。 A) B) 0.00000 C) D) (6)已知ch是字符型变量,下面不正确的赋值语句是 B 。 A)ch = 5 + 9 ; B) ch= ' a + b '; C) ch = ' \ 0 '; D) ch= '7' + '6' ; (7) 设x , y和z是int型变量,且x = 3, y = 4 , z = 5 则下面表达式中值为0的

2019年C语言期末考试题及答案

的一个)。, 求最小值出现的位置(如果最小值1、给定n个数据例如:输入的数组为:求出第一次出现的位置即可)。出现多次, 1 2 3 4 1 5 6 12 18 9k+1i<=n最大值第三行五行 10 11 2的值并输出。计算公式为:2、编写程序求无理数e e=1+1/1!+1/2!+1/3!+......+1/n! 求出的最大数为18,行坐标为2,列坐标为1。。当1/n!<0.000001时e=2.718282 7、求一个n位自然数的各位数字的积。(n 是小于10的 自然数)求一批数中最大值和最小值的积。3、 2、某一正数的值保留位小数,对第三位进行四舍48、计算n门课程的平均值,计算结果作为函数值返回。五入。例如:若有5门课程的成绩是:92,76,69,58,88,

则函数的值为76.599998。 x,5、从键盘上输入任意实数求出其所对应的函数值。 z=(x-4)的二次幂(x>4) 9、求一批数中小于平均值的数的个数。 z=x的八次幂(x>-4) z=z=4/(x*(x+1))(x>-10)z=|x|+20(其他) M×N求出、6整型数组的最大元素及其所在的行坐标10、编写函数判断一个整数m的各位数字之和能否被7整除,及列坐标(如果最大元素不唯一,选择位置在最前面 0。调用该函数找出可以被7整除则返回1,否则返回 100~200之间满足条件的所有数。 15、实现两个整数的交换。 例如:给a和b分别输入:60和65,输入为:a=65 b=60 void fun(int tt[M][N],int pp[N]),11、请编一个函数16、将字符串中的小写字母转换为对应的大写字母, N列的二维数组,求出二维数组每列M tt指向一个行其它字符不变。

C语言试题及答案

C语言试题及答案 Company number【1089WT-1898YT-1W8CB-9UUT-92108】

第1章C语言概述习题1. 单项选择题 (1) C 语言是在 B 语言的基础上产生的。 A. 回车符 B. 冒号 C. 逗号 D. 分号 (2) 在 C 语言中,每个语句必须以 D 结束。 A. 回车符 B. 冒号 C. 逗号 D. 分号 (3) 标识符和关键字间,要用 C 隔开。 A. 回车符 B. 冒号 C. 空格 D. 分号 (4) 用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( B )。 A. 生成可执行目标文件 B. 生成目标文件 C. 输出运行结果 D.自动保存源文件 (5) 下列说法中正确的是( B )。 A. 由于 C 源程序是高级语言程序,因此一定要在 TC 软件中输入 B. 由 C 源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入 C. 由于C 程序是高级语言程序,因此输入后即可执行 D. 由于 C 程序是高级语言程序,因此它由命令组成 (6) 下列说法中正确的是( A )。 A. C 语言程序由主函数和 0 个或多个函数组成 B. C 语言程序由主程序和子程序组成

C. C 语言程序由子程序组成 D. C 语言程序由过程组成 (7) 下列说法中错误的是( D )。 A. 主函数可以分为两个部分:主函数说明部分和主函数体 B. 主函数可以调用任何非主函数的其他函数 C. 任何非主函数可以调用其他任何非主函数 D. 程序可以从任何非主函数开始执行 2. 填空题 (1) C 语言只有 37 个关键字和 9 种控制语句。 (2) C 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言 的特点;既适合于开发系统软件又适合于编写应用程序。 (3) 每个源程序有且只有一个主函数,系统总是从该函数开始执行C语言程序。 (4) 在 C 语言程序中允许出现的字符集是 ASCII码字符集。 (5) C 语言的程序中有特殊含义的英语单词称为保留字。 (6) C 语言标识符的长度是前 8 位有效。 (7) C 语言中,标识符的定义规则是以字母或下划线为开头。 (8) C 语言程序的注释可以出现在程序中的任何地方,它总是以 /* 符号作为开始标记,以 */ 符号作为结束标记。

大一c语言期末试题及参考答案word版本

2004级信息学院《C语言设计》考试试题 一、判断下列语句或程序的对错。 10分√ 1 int x=y=z=’0’; (×) y,z没有定义 2 #include ; (×)不能有分号,#开头的结尾均不能有分号; 3 printf(“%s\n”,”c language”); (√) 4 float a[100]; int *p=a; (×)数据类型不匹配 5 char str[20]; 6 int data[4]={0,1,2,3,4}; (×)五个元素,但是只有四个单元 7 float x=1.45e+310L; (×)数值越界 8 int xyz-1=2; (×) 9 int x=‘\xae’ ; (√) 10 int *p,a[2][3] ; p=a ; (×)数据类型不匹配 二计算下列表达式的值 10分 设 unsigned int a=10,b=17,c=5,d=3; float f ; (1)f=b/c ( 3.0 ) (2)!(a+b)+c-1&&b+c/2 ( 1 ) (3)(a^b)+(c>>1+d) ( 0x1b ) (4)a+=b%=a=b ( 17 ) (5)a=2,b=a*++b ( 2 ) 三程序改错 10分 (1)求两个浮点数的平方和及平方差 #include float calculate (float x,float y,float *sub);添加函数原型声明 main () { float a,b; float add_reasult, sub_result; scanf (“%f,%f”,a,b); add_result=calculate(a,b,&sub_result); printf( “a*a+b*b=%d,a*a-b*b=%d\n”,add_result,sub_result); } float calculate (float x,float y,float *sub) 添加函数类型 { float *temp; 应该直接定义为变量float temp; sub=a*a-b*b ; *sub=a*a-b*b;

C语言编程测试题(含答案)

《C 语言程序设计》阶段性考核(90分钟) __ 姓名 __________ 得分 ____ 程序设计题 (本大题共 7小题,选 5 题完成, 3、5 题必选,共 100 分) 注意:将在VC++中调试通过的代码复制到每题“程序代码”下面,然后提交本 文档即可,文档命名为“姓名.doc ”,如 张文.doc 1、 求出 10 到 100 内能同时被 2、 3、7 整除的数,并输出。 程序代码: #include"stdio.h" Void main() {// 求出 10 到 100内能同时被 2、3、7 整除的数,并输出 int i; for(i=10;i<=100;i++) {if(i%2==0&&i&3==0&&i%7==0) printf("%d ",i); } } 2、 输出 Fibonacci 数列 1,1, 2,3, 5, 8, 13 程序代码: #include"stdio.h" Void main() { // 输出 Fibonacci 数列 1,1, 2,3, 5, 8, 13 long int f[42]; int i; f[0]=f[1]=1; for(i=2;i<42;i++) f[i]=f[i-1]+f[i-2]; for(i=0;i<42;i++) {if(i%5==0) printf("\n"); printf("%10d",f[i]); } } 3、 编写程序,输入一个 3X 3的矩阵,求两个对角线元素中的最大值 程序代码: #include"stdio.h" Void main() { II 编写程序,输入一个 3X 3的矩阵,求两个对角线元素中的最大值 int a[3][3]; int i,j,max; I* a[0][0] a[0][1] a[0][2] 1 2 3 a[1][0] a[1][1] a[1][2] 4 5 6 学号 前 42 个数,并以每行 5 个数方式输出。 前 42 个数,并以每行 5 个数方式输出。

C语言考试题及答案

一、单项选择题:(10分,每题2分) 1.char *p[10];该语句声明了一个: c 。 A)指向含有10个元素的一维字符型数组的指针变量p B)指向长度不超过10的字符串的指针变量p C)有10个元素的指针数组p,每个元素可以指向一个字符串 D) 有10个元素的指针数组p,每个元素存放一个字符串 2.若int x;且有下面的程序片断,则输出结果为: D 。 for (x=3; x<6; x++) { printf((x%2) ? "##%d" : "**%d\n", x); } A) ##3B) **3C) **3D)##3**4 **4 ##4 ##4**5 ##5 ##5 **5 3.在while(!x)语句中的!x与下面条件表达式等价的是:D 。 A) x!=0 B) x==1 C) x!=1 D) x==0 4.已知 struct point { int x; int y; }; struct rect { struct point pt1; struct point pt2; }; struct rect rt; struct rect *rp = &rt; 则下面哪一种引用是不正确的__D______。 A) r t.pt1.x B) (*rp).pt1.x C) r p->pt1.x D) rt->pt1.x 5.若二维数组a有m行n列,则下面能够正确引用元素a[i][j]的为: C 。 A) *(a+j*n+i) B) *(a+i*n+j) C) *(*(a+i)+j) D) *(*a+i)+j CDDDC 二、分析程序并写出运行结果。(25分,每题5分) 1. #include main()

C语言期中测试题(含答案)

1.C 语言源程序文件的后缀是 .c 。 2.结构化程序由 顺序结构 、 选择结构 、 循环结构 三种基本结构组成。 3.在C 语言中,用关键字 int 定义基本整型变量,一个基本整型变量系统分配 2 字节,用关键字 float 定义单精度实型变量,一个单精度实型变量系统分配 4 字节,用关键字 double 定义双精度实型变量,一个双精度实型变量系统分配 8 字节。 一、选择 1. 以下选项中正确的实型常量是( A ) A .12. B .-20 C . 1,000 D . 4 5 6 2.以下选项中不正确的实型常量是(无正确答案) A . B . C . D . 456e-2 3. 以下选项中不合法的用户标示符是( C ) A. _123 B .A12_1 C . A $ D .Dim 4.C 语言中运算对象必须是整型的运算符是( A ) A .% B ./ C .! D .* 5. 若变量已正确定义并赋值,符合C 语言语法的表达式是( B ) A .a=a+7 ; B .a=7+b+c,a++ C . int%4) D .a=a+7=c+b 6.下面合法的赋值语句是( C ) A .a=b=58 B .k=int(a+b) C . a=58,b=58 D .--i 7.若变量已正确定义为int ,要给a,b,c 输入数据,正确的输入语句是( D ) A .read(a,b,c) B .scanf(“%d%d%d ”,a,b,c) C .scanf(“%D%D% D ”,&a,&b,&c) D .scanf(“%d%d%d ”,&a,&b,&c) 8.若变量a,b,t 已正确定义,要将a 和b 中的数进行交换,以下选项中不正确的语句 组是( C ) A .a=a+b,b=a-b,a=a-b; B . t=a,a=b,b=t; C .a=t;t=b;b=a D .t=b;b=a;a=t; 9.若有正确定义语句: double x=; 语句printf(“%f\n ”,(int)(x*1000+/(double)1000);的输出结果是( D ) A .输出格式说明与输出项不匹配,输出无定值 B . C .! D . 10. 若有以下程序段: int a=0,b=0,c=0; c=(a-=a-5),(a=b,b+3); printf(“%d,%d,%d\\n ”,a,b,c); 执行后的输出结果是( B ) A .3,0,-10 B .0,0,5 C .-10,3,-10 D .3,0,3 11.下列运算符中优先级别最高的是( A ) A . ! B .% C .-= D .&& 12.为表示关系:z y x ≥≥,应使用的C 语言表达式是( A ) A .(x>=y)&&(y>=z) B .(x>=y)AND(y>=x) C .(x>=y>=z) D .(x>=y)&(y>=z) 13.设a 、b 和c 都是int 型变量,且a=3,b=4,c=5,则以下的表达式中值为0的表达式 是( D )

相关文档