C语言编程题及答案4
result = a * b;
break;
case 4:
if (b != 0)
{
printf("%d / %d=", a, b);
result = a / b;
/*注意这里是整数除法运算,结果为整型*/
}
else
{
printf("Division by zero!\n");
}
ห้องสมุดไป่ตู้
break;
default:
/* 函数功能:对两整型数进行加、减、乘、除四则运算 如果用户输入的答案与结果相同,则返回 1,否则返回 0
函数参数:整型变量 a 和 b,分别代表参加四则运算的两个操作数 整型变量 op,代表运算类型,
当 op 值为 1,2,3,4 时,分别执行加、减、乘、整除运算 函数返回值:当用户输入的答案与结果相同时,返回 1,否则返回 0 */ int Compute(int a, int b, int op) { int answer, result;
1.4。。。
#include <stdio.h> #include <stdlib.h>
#include <time.h>
第 2 章 上机实验指导 ·141·
/* 函数功能:计算两整型数之和,如果与用户输入的答案相同,则返回 1,否则返回 0 函数参数:整型变量 a 和 b,分别代表被加数和加数
函数返回值:当 a 加 b 的结果与用户输入的答案相同时,返回 1,否则返回 0 */ int Add(int a, int b) { int answer; printf("%d+%d=", a, b); scanf("%d", &answer); if (a+b == answer)
switch (op) {
case 1:
printf("%d + %d=", a, b); result = a + b;
第 2 章 上机实验指导 ·143·
break;
case 2:
printf("%d - %d=", a, b);
result = a - b;
break;
case 3:
printf("%d * %d=", a, b);
*/ void Print(int flag) { if (flag)
·144· C 语言大学实用教程学习指导
printf("Rright!\n"); else
printf("Not correct!\n"); }
main() { int a, b, answer, error, score, i, op;
#include <stdio.h>
/* 函数功能:计算两整型数之和,如果与用户输入的答案相同,则返回 1,否则返回 0 函数参数:整型变量 a 和 b,分别代表被加数和加数 函数返回值:当 a 加 b 的结果与用户输入的答案相同时,返回 1,否则返回 0
*/ int Add(int a, int b) { int answer;
/* 函数功能:计算两整型数之和,如果与用户输入的答案相同,则返回 1,否则返回 0 函数参数:整型变量 a 和 b,分别代表被加数和加数 函数返回值:当 a 加 b 的结果与用户输入的答案相同时,返回 1,否则返回 0
*/ int Add(int a, int b) { int answer;
printf("%d+%d=", a, b); scanf("%d", &answer); if (a+b == answer)
srand(time(NULL)); error = 0; score = 0; for (i=0; i<10; i++) {
a = rand()%10 + 1; b = rand()%10 + 1; op = rand()%4 + 1; answer = Compute(a, b, op); Print(answer); if (answer == 1)
【思考题】 如果要求将整数之间的四则运算题改为实数之间的四则运算题,那么程序该 如何修改呢?请读者修改程序,并上机测试程序运行结果。
2.掷骰子游戏
编写程序模拟掷骰子游戏。已知掷骰子游戏的游戏规则为:每个骰子有 6 面,这些面包含 1、2、3、4、5、6 个点,投两枚骰子之后,计算点数之和。如果第一次投的点数和为 7 或 11, 则游戏者获胜;如果第一次投的点数和为 2、3 或 12,则游戏者输;如果第一次投的点数和为 4、5、6、8、9 或 10,则将这个和作为游戏者获胜需要掷出的点数,继续投骰子,直到赚到该 点数时算是游戏者获胜。如果投掷 7 次仍未赚到该点数,则游戏者输。
函数返回值:无 */ void Print(int flag, int chance) { if (flag)
printf("Right!\n"); else if (chance < 3)
printf("Not correct. Try again!\n"); else
printf("Not correct. You have tried three times!\nTest over!\n"); }
程序 2 通过输入两个加数给学生出一道加法运算题,如果输入答案正确,则显示“Right!”, 否则显示“Not correct! Try again!”,直到做对为止。
程序 3 通过输入两个加数给学生出一道加法运算题,如果输入答案正确,则显示“Right!”, 否则提示重做,显示“Not correct! Try again!”,最多给三次机会,如果三次仍未做对,则显示“Not correct! You have tried three times! Test over!”,程序结束。
int rollDice(void);
main() {
enum Status {CONTINUE, WON, LOST}; int sum, myPoint, count = 0; enum Status gameStatus;
main() { int a, b, answer, error, score, i;
srand(time(NULL)); error = 0; score = 0; for (i=0; i<10; i++) {
·142· C 语言大学实用教程学习指导
a = rand()%10 + 1; b = rand()%10 + 1; answer = Add(a, b); Print(answer); if (answer == 1)
return 1; else
return 0; }
/* 函数功能:打印结果正确与否的信息 函数参数:整型变量 flag,标志结果正确与否 函数返回值:无
*/ void Print(int flag) { if (flag)
printf("Rright!\n"); else
printf("Not correct!\n"); }
main() { int a, b, answer;
·138· C 语言大学实用教程学习指导
printf("Input a,b:"); scanf("%d,%d", &a, &b); answer = Add(a, b); Print(answer); }
1.2。。。
#include <stdio.h>
return 1; else
return 0; }
/* 函数功能:打印结果正确与否的信息 函数参数:整型变量 flag,标志结果正确与否
函数返回值:无 */ void Print(int flag) { if (flag)
printf("Rright!\n");
else printf("Not correct. Try again!\n");
printf("%d+%d=", a, b); scanf("%d", &answer); if (a+b == answer)
return 1; else
return 0; }
·140· C 语言大学实用教程学习指导
/* 函数功能:打印结果正确与否的信息 函数参数:整型变量 flag,标志结果正确与否 整型变量 chance,表示同一道题已经做了几次还没有做对
printf("Unknown operator!\n");
break;
}
scanf("%d", &answer);
if (result == answer)
return 1;
else
return 0;
}
/* 函数功能:打印结果正确与否的信息 函数参数:整型变量 flag,标志结果正确与否 函数返回值:无
程序 4 连续做 10 道题,通过计算机随机产生两个 1~10 之间的加数给学生出一道加法 运算题,如果输入答案正确,则显示“Right!”,否则显示“Not correct!”,不给机会重做,10 道题做完后,按每题 10 分统计总得分,然后打印出总分和做错的题数。
程序 5 通过计算机随机产生 10 道四则运算题,两个操作数为 1~10 之间的随机数,运 算类型为随机产生的加、减、乘、整除中的任意一种,如果输入答案正确,则显示“Right!”, 否则显示“Not correct!”,不给机会重做,10 道题做完后,按每题 10 分统计总得分,然后打 印出总分和做错题数。
大学C语言期末考试题4及答案
大学C语言期末考试题及答案(4)1、定义了一维int型数组a[10]后,下面错误的引用是_____正确答案是:Ba[0]=1;a[10]=2;a[0]=5*2;a[1]=a[2]*a[0];2、设有定义:int a=1, *p=&a; float b=2.0; char c='A'; ,以下不合法的运算是()正确答案是:C*p++;a--;b++;c--;3、若有定义:int x[10], *p=x;,则*(p+5)表示()正确答案是:B数组元素x[5]的地址数组元素x[5]的值数组元素x[6]的地址数组元素x[6]的值4、执行以下程序段后,y的值是()。
int a[ ]={1, 3, 5, 7, 9} int x=0, y=1, *ptr; ptr=&a[1]; while (!x) { y+=*(ptr+x); x++; }正确答案是:C124245、下面程序的运行结果是()。
# include <stdio.h> void select(char *s){ int i,j; char *t; t=s; for(i=0,j=0;*(t+i)!='\0';i++) if (*(t+i)>='0'&&*(t+i)<='9') { *(s+j)=*(t+i); j++;} *(s+j)='\0正确答案是:DHPw19 &17HPw19 &1719176、对于下面语句描述不正确的为_____ struct Student { unsigned long id; char name[30]; char class[30]; }oStu1;正确答案是:Bstruct Student为用户自定义类型Student为用户自定义类型name为结构体成员变量oStu1为结构体变量名称7、已知:char *pstr[]={"abcd","efgh"},**p=&pstr; 那么*(*(p+1)+1)的值为_____正确答案是:Cbcfg8、已知:int a[5]={0,1,2,3,4}; int *p=a; 下面的表达式不可以用来表示a[3]的是_____正确答案是:C*(a+3)*(p+3)*p+3p[3]9、 strlen("A\0B\0C")的结果为_____正确答案是:B12310、定义了int型二维数组a[6][7]后,数组元素a[3][4]前的数组元素个数为_____正确答案是:B2425281711、下面的描述错误的是_____正确答案是:C函数可以有多个形式参数函数可以没有返回值函数内可以嵌套定义函数函数可以被其他函数调用12、下面关于全局变量的描述中,错误的是_____正确答案是:C所有在函数体外定义的变量都是全局变量全局变量可以和局部变量同名称全局变量第一次被引用时,系统为其分配内存全局变量直到程序结束时才被释放13、以下关于循环的描述中,错误的是_____正确答案是:D可以用for语句实现的循环一定可以用while语句实现可以用while语句实现的循环一定可以用for语句实现可以用do…while语句实现的循环一定可以用while语句实现do…while语句与while语句的区别仅仅是关键字while的位置不同14、引用数组元素时,数组下标可以是_____正确答案是:D整型常量整型变量整型表达式以上均可15、已知:int a[5]={0,1,2,3,4}; int *p=a; 下面的表达式不能用来表示a[3]的是_____正确答案是:C*(a+3)*(p+3)*p+3p[3]16、已知:char str[10],*p=str; 下面的语句中正确的是_____正确答案是:Bstr="ABC";p="ABC";*str="ABC";*p="ABC";17、对于下面语句描述不正确的为_____ struct Student { unsigned long id; char name[30]; char calss[30]; }oStu1;正确答案是:Bstruct Student为用户自定义类型Student为用户自定义类型name为结构体成员变量oStu1为结构体变量名称18、一个c程序的执行是从________正确答案是:A本程序的main函数开始,到main函数结束本程序文件的第一个函数开始,到本程序文件的最后一个函数结束本程序的main函数开始,到本程序文件的最后一个函数结束本程序文件的第一个函数开始,到本程序main函数结束19、若x、i、j和k都是int型变量,则计算下面表达式后,x的值为 ________ x=(i=4,j=16,k=32)正确答案是:C416325220、若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是________正确答案是:A2.5000002.7500003.5000000.00000021、以下叙述中正确的是()正确答案是:D输入项可以是一个实型常量,如scanf(“%f”,3.5);只有格式控制,没有输入项也能正确输入数据到内存,例如:scanf(“a=%d,b=%d”);当输入实型数据时,格式控制部分可以规定小数位数,例如:scanf(“%4.2f”,&f);当输入数据时,必须指明变量地址,例如:scanf(“%f”,&f);22、以下程序输出结果是()。
4试题 c语言试题以及答案
第9题:只有在使用时才为该类型变量分配内存的存储类说明是 auto和 static
参考答案:错
对
错
第10题:在C语言中,合法的长整型常数是216D
参考答案:错
对
错
--------------------------------------------------------------------------------
str1[I]=’ ’;
str1[strlen(str1)-1]='\0';
}
}
A)、
*******
*****
***
*
B)、
*******
*****
***
*
C)、
*******
*****
#include <stdio.h>
#include <string.h>
void main()
{ char str1[ ]="*******";
for(int I=0;I<4; I++)
{
printf("%s\n",str1);
三、程序填空题
第1题:
读入一批正整数(以零或负数为结束标志),输出其中的素数。函数prime( int m)用于判断m是否为素数。素数就是只能被1和自身整除的正整数,1不是素数,2是素数。请为程序填空。
#include <stdio.h>
#include <math.h>
printf("%c,%d,%c,%d\n", c1,c1,c2,c2);
C语言试题及答案
《C语言程序设计》试题四一.单项选择题1.运算符___________的优先级最高。
A.[ ]B.+= C.?: D.++2.main( ){ int n;( n=6*4,n+6),n*2;printf(―n=%d\n‖,n); }此程序的输出结果是______________.A.30 B. 24 C.60 D. 483.若有如下定义,则__________是对数组元素的正确的引用。
.int a[10] , *p ;p=a ;A. *&a[10]B.a[11] C. *(p+11) D. *p *p *p4.设整型变量n的值为2,执行语句―n+=n-=n*n;‖后,n的值是__________A. 0B. 4C. - 4D. 25.各种基本数据类型的存贮空间正确的长度排列为__________。
A.Char<long<int<float<do ubleB.Double<float<long<int< charC.Char<int<long<float<do ubleD.Float<int<long<char<do uble 6.下面的变量说明中_____________是正确的。
A.char:a, b, c;B.char a; b; c; C.chara, b, c; D.char a, b, c7.表达式y=(13>12?15:6>7?8:9)的值为____________ 。
A9 B 8C 15 D. 18.若x=5,y=3 则y*=x+5; y的值为_______________.A. 10B. 20C. 15D. 309.能正确表示a和b同时为正或同时为负的逻辑表达式是_________。
A.a>=0||b>=0)&&(a<0||b<0) B.(a>=0 &&b>=0)&&(a<0 && b<0)C.(a+b>0) &&(a+b<=0)D.a*b>010.C语言中,合法的字符型常数是_________。
C语言 程序设计基础试题四及答案
《程序设计基础》考试试卷四班级姓名学号一、选择题(每题1分,共20分)题号一二三四五总得分评卷人审核人得分1.以下叙述中正确的是( )A. C程序中注释部分可以出现在程序中任意合适的地方B. 花括号"{"和"}"只能作为函数体的定界符C. 构成C程序的基本单位是函数,所有函数名都可以由用户命名D. 分号是C语句之间的分隔符,不是语句的一部分2.判断下面标识符中哪个是C语言中合法的用户定义标识符()A. 2a1bB. a%bdC. _123D. char3.设有以下定义int a=0; double b=1.25; char c=’A’; #define M 2则下面语句中错误的是( )A. a--;B. b--;C. c--;D. M--;4.有两条语句:static char x[]=”abcde”;static char y[]={‘a’,’b’,’c’,’d’,’e’};则下列说法中正确的是( )A. 数组x和数组y长度相同B.数组x长度大于数组y长度C. 数组x长度小于数组y长度D. 以上三种说法均错误;5.设整型变量a=13,则经运算a+= a/=a%=5后,a的值为()A. 17.333B. 17C. 0D. 26. 已知:int n,i=1,j=2;执行语句n=i<j?i++:++j;后,i和j的值是( ).A. 1,2B. 1,3C. 2,2D. 2,37.有函数定义如下:当自变量x<0时y=-1;当x=0时y=0;当x>0时y=1;以下程序片段能实现该函数功能的是( ):A. if(x>=0)B. y=-1;C. if(x>=0)D. y=0;if(x>0) y=1; if(x!=0) if(x>0) y=1; if(x>=0) else y=-1; if(x>0) y=1 ; else y=0; if(x>0) y=1;else y= 0; else y=0; else y= -1; else y=-1;8.当a=2,b=1,c=3,d=4,m和n值为1时,(m=a>b)||(n=c>d)的值是( )A. TRUEB. FALSEC. 1D.09.在C语言程序中,以下说法正确的是( )A. main函数内部可嵌套定义子函数B. main函数必须出现在所有函数之前C. main函数必须出现在所有函数之后D. main函数是程序执行的入口10.关于局部变量和全局变量说法正确的是():A. 在main函数中定义的变量都为全局变量B. 当全局变量与局部变量同名时,全局变量起作用C. 当全局变量与局部变量同名时,局部变量起作用D. 以上说法都不正确11.下列关于switch和break语句的讨论中,只有()是正确的。
C语言经典编程100题(答案版)
C语言经典程序100题(答案版)【程序1】题目:企业发放的奖金根据利润提成。
利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?1.程序分析:请利用数轴来分界,定位。
注意定义时需把奖金定义成长整型。
2.程序源代码:1.#include"stdio.h"2.#include"conio.h"3.main()4.{5.long int i;6.int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;7.scanf("%ld",&i);8.bonus1100000*0.1;9.bonus2bonus1+100000*0.75;10.bonus4bonus2+200000*0.5;11.bonus6bonus4+200000*0.3;12.bonus10bonus6+400000*0.15;13.if(i<100000)14.bonus i*0.1;15.else if(i<200000)16.bonus bonus1+(i-100000)*0.075;17.else if(i<400000)18.bonus bonus2+(i-200000)*0.05;19.else if(i<600000)20.bonus bonus4+(i-400000)*0.03;21.else if(i<1000000)22.bonus bonus6+(i-600000)*0.015;23.else24.bonus bonus10+(i-1000000)*0.01;25.printf("bonus%d",bonus);26.getch();27.}【程序2】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。
C语言程序设计教程第四章练习题解析
单选题1、关于C语言中的函数,下列描述正确的是()A.函数的定义可以嵌套,但函数的调用不可以嵌套B.函数的定义不可以嵌套,但函数的调用可以嵌套C.函数的定义和函数的嵌套均不可以嵌套D.函数的定义和函数的调用均不可以嵌套答案:B解析:函数的定义不可以嵌套,但函数的调用可以嵌套2?、定义一个函数:exce((v1, v2), (v3,v4,v5),v6); 在该函数调用时,实参的个数为()个A.3B.4C.5D.6答案:A解析:(v1, v2),(v3,v4,v5)和v6一共三个实参3、关于C语言中print()函数与scanf()函数,下列描述中正确的是()A.printf()函数可以向任何地方输出数据B.printf()只向控制台输出数据C.scanf()只能输入英文字母和数字D.scanf()函数可以识别输入的空格答案:B解析:printf()是向控制台输出的函数4、在C语言中,内部函数需要添加的关键字是()A.externB.staticC.thisD.auto答案:B解析:在定义内部函数时,需要在函数的返回值类型前面添加static关键字(又称为静态函数)。
5、当调用时,会调用内部函数A.当调用时,会调用内部函数B.当调用时,会调用外部函数C.当调用时,会调用两次,先调用内部函数再调用外部函数D.都不调用,会报错答案:A解析:当内部函数与外部函数重名时,会优先调用内部函数6、在C语言中,声明外部函数需要添加的关键字是()A.externB.staticC.thisD.auto答案:A解析:声明外部函数的方式是在函数的返回值类型前面添加extern关键字7、关于C语言中的局部变量,下列描述中错误的是()A.局部变量就是在函数内部声明的变量B.局部变量只在函数内部有效C.局部变量只有当它所在的函数被调用时才会被使用D.局部变量一旦被调用,其生存周期持续到程序结束答案:D解析:当函数调用结束时局部变量就会失去作用8、关于C语言中的全局变量,下列描述中正确的是()A.全局变量的作用域一定比局部变量的作用域范围大B.静态类别变量的生存周期贯穿于整个程序的运行期间C.函数的形参都属于全局变量D.未在定义语句中赋初值的auto变量和static变量的初值都是随机值答案:B解析:?选项1不对:如果程序中只有一个主函数,则在整个程序运行中,局部变量都在起作用;选项3不对:除了C++的引用类型参数,所有函数的形参都是局部变量;选项4不对:static变量定义时就存储地全局区,初始化为0;9、当全局变量与局部变量重名时,那么在调用时()A.局部变量会被屏蔽B.全局变量会被屏蔽C.都不会调用,系统会报错D.会调用两次,先调用局部变量,再调用全局变量答案:B解析:当局部变量与全局变量重名时,全局变量会被屏蔽。
《C语言程序设计》教材习题答案第4章
if(++n<10) printf("%d\n",n);
else printf("%d\n",--n);
}
3、若a、b、c1、c2、x、y均是整形变量,正确的switch语句是D
switch(a-b)
{default:y=a*b;break;
case 3:
case 10:y=a-b;break;
{
day+=a[ai][i];
}
day+=d;
printf("这是该年的弟%d天\n",day);
}
7、输入一个字符,判断输入字符的种类,即区分空格、回车、数字字符、英文字母和其他字符(要求分别用if…else if和switch语句编写)。
#include<stdio.h>
void main()
{
else x=6;
else x=7;
12、有如下程序段
int a=14,b=15,x;
char c='A';
x=(a&&b)&&(c<'B');
执行该程序段后,x的值为D 1
13、有如下程序段
int score=5;
switch(score)
{
case 5:printf("very good!");
case 4:printf("Good!");
default:printf("data error!");
}
程序输出结果为D Very good! Good! Data error!
c语言编程题考试题库及答案
c语言编程题考试题库及答案一、单项选择题1. 在C语言中,以下哪个选项是正确的整型常量?A. 0x12LB. 0x12.5C. 0x12.0D. 0x12F答案:A2. C语言中,以下哪个选项是正确的字符串字面量?A. "Hello, World"B. 'Hello, World'C. "Hello, World\n"D. "Hello, World\"答案:C3. 在C语言中,以下哪个选项是正确的函数声明?A. int add(int a, int b);B. int add(int, int);C. int add();D. int add(a, b);答案:A4. C语言中,以下哪个选项是正确的数组声明?A. int a[5] = {1, 2, 3, 4, 5};B. int a[] = {1, 2, 3, 4, 5};C. int a[5] = {1, 2, 3};D. int a = {1, 2, 3, 4, 5};答案:B5. 在C语言中,以下哪个选项是正确的指针声明?A. int *p = 0;B. int *p = "Hello";C. int *p = 5;D. int p = 0;答案:A二、填空题1. 在C语言中,表示逻辑“与”操作的运算符是 ________ 。
答案:&&2. C语言中,表示逻辑“或”操作的运算符是 ________ 。
答案:||3. 在C语言中,表示逻辑“非”操作的运算符是 ________ 。
答案:!4. C语言中,表示赋值操作的运算符是 ________ 。
答案:=5. 在C语言中,表示取地址操作的运算符是 ________ 。
答案:&三、程序阅读题阅读以下C语言程序段,并回答问题。
```c#include <stdio.h>int main() {int a = 10, b = 20, c;c = a + b;printf("%d", c);return 0;}```1. 程序的输出结果是什么?答案:302. 如果将`c = a + b;`改为`c = a * b;`,程序的输出结果是什么?答案:200四、编程题1. 编写一个C语言程序,实现两个整数的加法运算,并输出结果。
C语言语言习题4
习题四基本输入输出一、填空题1.C语句分为五种:_______、函数调用语句、_______、空语句和_______ 。
2.一条基本语句的最后一个字符是_______ 。
3.复合语句又称分程序,是用_______括起来的语句。
4.使用标准输入输出库函数时,程序的开头要有如下预处理命令:_______。
5.getchar函数的作用是从终端输入_______个字符。
6.printf函数的作用是向终端_______若干个任意类型的数据。
7.printf函数中的“格式控制”,包括_______ 和_______ 两种信息。
8.scanf函数中的“格式控制”后面应当是变量_______,而不是变量名。
9.在用scanf函数中输入数据时,如果在“格式控制”字符串中除了格式说明以外还有其他字符,则应在对应位置输入与这些字符相同的_______ 。
10.在用”%c”格式输入字符时,空格字符和“转义字符”都作为有效字符_______。
11.在输入数据时,遇以下情况时该数据认为结束:遇_______ 、或按_______ 或_______ ;按指定的宽度结束;遇非法输入。
12.输入数据时不能规定_______ 。
二、选择题1.以下不属于流程控制语句的是()。
A)表达式语句B)选择语句C)循环语句 D)转移语句2.putchar函数可以向终端输出一个()。
A)整型变量表达式值B)实型变量值C)字符串D)字符或字符型变量值3.getchar函数的参数个数是()。
A)1 B)0 C)2 D)任意4.以下程序的输出结果是()。
main(){printf(“\n*s1=%15s*”, “chinabeijing”);printf(“\n*s2=%-5s*”, “chi”);}A)*s1=chinabeijing * B)*s1=chinabeijing **s2=**chi* *s2=chi *C)*s1=*chinabeijing* D)*s1= chinabeijing**s2=chi* *s2=chi *5.printf函数中用到格式符%5s ,其中数字5表示输出的字符串占用5列。
C语言程序设计模拟试题四(含答案)
C语言程序设计模拟试题四(含答案)1、微型计算机的性能主要取决于A) 内存B) 中央处理器C) 硬盘D) 显示卡2、有一个数值152,它与十六进制数6A相等,那么该数值是A) 二进制数B) 八进制数C) 十进制数D) 四进制数3、使用超大规模集成电路制造的计算机应该归属于A) 第一代B) 第二代C) 第三代D) 第四代4、已知英文字母a的ASCII代码值是十六进制数61H,那么字母d的ASCII代码值是A) 34H B) 54HC) 24H D) 64H5、一片存储容量是1.44MB的软磁盘,可以存储大约140万个A) ASCII字符B) 中文字符C) 磁盘文件D) 子目录6、在MS-DOS环境中同时按下[Ctrl]和[Break]两个键,其作用是A) 终止当前操作B) 暂停当前操作C) 关机D) 热启动7、将二进制数10000001转换为十进制数应该是A) 127 B) 129C) 126 D) 1288、磁盘处于写保护状态,那么磁盘中的数据A) 不能读出,不能删改,也不能写入新数据B) 可以读出,不能删改,也不能写入新数据C) 可以读出,可以删改,但不能写入新数据D) 可以读出,不能删改,但可以写入新数据9、微型机启动后,DOS提示符是C:\>,现提示符变为C:\USER>,则说明刚执行过命令A) PROMPT B) PROMPT USERC)PROMPT SP$G D) CD USER10、MS-DOS文件系统目录的组织形式属于A) 关系型结构B) 网络型结构C) 树型结构D) 直线型结构11、应用软件系统TH的总容量大约1MB,其主要程序文件存放在C:\TH目录中,而数据文件存放在C:\TH\DATA目录中,如果将它们完整地复制到A盘, 应该使用的命令是A) XCOPY C:\\TH A:\\ B) XCOPY C:\\TH A:\\ /SC) XCOPY C:\\TH A:\\ /M D) XCOPY C:\\TH A:\\ /P12、执行COPY A.TXT+B.TXT 这个DOS命令后,得到的磁盘文件是A) A.TXT B) B.TXTC) AB.TXT D) A+B.TXT13、WindowsS中,将一个应用程序窗口最小化之后,得到的磁盘文件是A) 仍在后台运行B) 暂时停止运行C) 完全停止运行D) 出错14、CD-ROM属于A) 感觉媒体B) 表示媒体C) 表现媒体D) 存储媒体15、在因特网(Internet)中电子公告板的缩写是A) FTP B) WWWC) BBS D) E-mail16、设x、y、z和k都是int型变量,则执行表达式:x=(y=4,z=16,k=32)后,x的值为A) 4 B) 16C) 32 D) 5217、设有如下的变量定义:int i=8, k, a, b;unsigned long w=5;double x=1, 42, y=5.2;则以下符合C语言语法的表达式是A) a+=a-=(b=4)*(a=3) B) x%(-3);C) a=a*3=2 D) y=float(i)18、假定有以下变量定义:int k=7,x=12;则能使值为3的表达式是A) x%=(k%=5) B) x%=(k-k%5)C) x%=k-k%5 D)(x%=k)-(k%=5)19、以下叙述中正确的是A) 输入项可以是一个实型常量,如:scanf("%f",3.5);B) 只有格式控制,没有输入项,也能正确输入数据到内存,例如:scanf("a=%d,b=%d");C) 当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如:scanf("%4.2f",&f);D) 当输入数据时,必须指明变量地址,例如:scanf("%f",&f);20、设x和y均为int型变量,则以下语句:x+=y,y=x-y;x-=y;的功能是A) 把x和y按从大到小排列B) 把x和y按从小到大排列C) 无确定结果D) 交换x和y中的值21、以下程序的输出结果是main(){int a=12,b=12;printf("%d,%d\n",- -a,+ +b);}A) 10 10 B) 12 12C) 11 10 D) 11 1322、以下程序运行后,输出结果是main(){char *s="abcde";s+=2;printf("%ld\n",s);}A) cde B) 字符c的ASCII码值C) 字符c的地址D) 出错23、以下程序输出结果是main(){ int m=5;if(m++>5)printf("%d\n",m);esleprintf("%d\n",m- -);}A) 7 B) 6C) 5 D) 424、当a=1,b=3,c=5,d=5时,执行下面一段程序后,x的值为if(a<b)if(c<d) x=1;elseif(a<c)if(b<d) x=2;else x=3;else x=6;else x=7;A) 1 B) 2C) 3 D) 625、在执行以下程序时,如果从键盘上输入,ABCdef<回车>,则输出为#include<stdio,h>main(){ char ch;while((ch=getchar())!='\n'){ if(ch>='A' && ch<='Z') ch=ch+32;else if(ch>='a' && ch<='z') ch=ch-32;printf("%c",ch);}printf("\n");}A) ABCdef B) abcDEFC) abc D) DEF26、下面能正确进行字符串赋值操作的语句是A) char s[5]={"ABCDE"};B) char s[5]={'A','B','C','D','E'};C) char *s;s="ABCDEF";D) char *s; scanf("%s",s);27、执行以下程序段时X=-1;do {x=x*x; }while(! x);A) 循环体将执行一次B) 循环体将执行两次C) 循环体将执行无限次D) 系统将提示有语法错误28、执行以下程序后,输出的结果是main (){int y=10;do { y - -;}while(- - y);printf("%d\n",y - -);}A) -1 B) 1C) 8 D) 029、在下列选项中,没有构成死循环的程序段是\A) int i=100while(1){ i=i%100+1;if(i>100)break;\B) for( ; ;);\C) int k=1000;do{++k;}while(k>=10000);\D) int s=36;while(s);--s;30、执行语句:for(i=l:i++<4:);后,变量i的值是A) 3 B) 4C) 5 D) 不定31、以下程序运行后,如果从键盘上输入ABCDE<回车>,则输出结果为#include<stdio.h>#include<string.h>func<char str[]){ int num=0;while(*(str+num)!='\0') num++;return(num);}main(){ char str[10],*p=str;gets(p); printf("%d\n",func(p));}A) 8 B) 7C) 6 D) 532、运行以下程序后,如果从键盘上输入china#<回车>,则输出结果为#include<stdio,h>mair(){ int v1=0,v2=0;char ch;while((ch=getchar())!='#')switch(ch){ case 'a';case 'h';default; v1++;case '0'; v2++;}printf("%d,%d\n",v1,v2);}A) 2,0 B) 5,0C) 5,5 D) 2,533、若以下程序所生成的可执行文件名为filel.exe;当打入以下命令执行该程序时;FILEL CHINA BEIJING SHANGHAI程序的输出结果是main(int argc,char *argv[]){ while(arge-->0){ ++argv;printf("%s ",*argv);}}A) CHINA BEIJING SHANGHAI B) FILEL CHINA BEIJINGC) C B S D) F C B34、下面程序运行的结果是main(){char ch[7]={65ab21"};int i,s=0for(i=0;ch[i]>='0' && ch[i]<='9';i+=2)s=10*s+ch[i]-'0';printf("%d\n",s);}A) 2ba56 B) 6521C) 6 D) 6235、运行下面的程序,如果从键盘上输入:ab<回车>c <回车>def<回车>#include<stdio,h>#define N 6main(){ char c[N];int i=0;for( ;i<N;c[i]=getchar(),i++); for( i=0;i<N;i++) putchar(c[i]); printf("\n");}A) abcdefB) abcdC) abcdD) abcdef36、以下程序运行后,输出结果是#include<stdio,h>ss(char *s){char *p=s;while(*p) p++;return(p-s);}main(){char *a="abded";int i;i=ss(a);printf("%d\n",i);}A) 8 B) 7C) 6 D) 537、以下程序运行后,输出结果是func(int a, int b){ static int m=0,i=2;i+=m+1;m=i+a+b;return(m);}main(){ int k=4,m=1,p;p=func(k,m);printf("%d,",p);p=func(k,m);printf("%d\n",p);}A) 8,15 B) 8,16C) 8,17 D) 8,838、以下程序运行后,输出结果是#include<stdio,h>#define PT 5.5#define S(x) PT* x * xmain(){ int a=1,b=2;printf("%4.1f\n",S(a+b));}A) 49.5 B) 9.5C) 22.0 D) 45.039、以下程序运行后,输出结果是main(){static char a[]="ABCDEFGH", b[]="abCDefGh";char *p1,*p2;int k;p1=a; p2=b;for(k=0;k<=7;k++)if(*(p1+k)==*(p2+k))printf("%c",*(p1+k));printf("\n");)A) ABCDEFG B) CDGC} abcdefgh D} abCDefGh40、以下程序运行后,a的值是main(){int a,k=4,m=6,*p1=&k,*p2=&m; a=p1==&m;printf("%d\n",a);}A) 4 B) 1C) 0 D) 运行时出错,a无定值41、以下程序运行后,输出结果是int d=1;fun(int p){ int d=5;d+=p++;printf("%d,d);}main(){ int a=3;fun(a);d+=a++;printf("%d\n,d);}A) 84 B) 99C) 95 D) 4442、以下程序运行后,输出结果是main(){ char ch[2][5]={'693","825"},*p[2]; int i,j,s=0;for(i=0;i<2;i++) p[i]=ch[i];for(i=0;i<2;i++)for(j=0;p[i][j]='0' && p[i][j]<='9';j+=2) s=10*s+p[i][j]-'0';printf("%d\n",s);}A) 6385 B) 22C) 33 D) 69382543、以下程序运行后,输出结果是fut(int **s, int p[2][3]){ **s=p[1][1];}main(){ int a[2][3]={1,3,5,7,9,11}, *p;p=(int *) malloc(sizeof(int));fut(&p,a);printf("%d\n",*P);}A) 1 B) 7C) 9 D) 1144、设有如下定义:int a=1,b=2,c=3,d=4,m=2,n=2:则执行表达式:(m=a>b)&&(n=c>d)后,n的值为A) 1 B) 2C) 3 D) 045、在执行以下程序时,为了使输出结果为:t=4,则给a和b输入的值应满足的条件是main(){int s,t,a,b;scanf("%d,%d",&a,&b);s=1; t=1;if(a>0)s=s+1;if(a>b)t=s+t;elseif(a==b) t=5;else t=2*s;printf("t=%d\n",t);}A) a>b B) a<b<0C) 0<a<b D) 0>a>b46、以下程序的输出结果是main(){int i,j,x=0;for(i=0;i<2;i++){ x++;for(j=0;j<=3;j++){if(j%2)continue;x++;}x++;printf("x=%d\n",x);}A) x=4 B) x=8C} x=6 D} x=1247、以下程序运行后,输出结果是#inchude <stdio,h>#inchude <string,h>fun(char *w, int n){ char t, *s1,*s2;s1=w: s2=w+n-1;while(s1<s2){ t=*s1++;*s1=*s2--;*s2=t;}}main(){ char *p;p="1234567";fun(p,strlen(p));puts(p);}A) 1234567 B) 7654321C) 1711717 D) 717717148、以下程序运行后,如果从键盘上输入: book <回车>book <空格><回车>则输出的结果是#include<string,h>main(){char a1[80],a2[80],*s1=a1, *s2=a2;gets(s1); gets(s2);if(! strcmp(s1,s2)) printf("*");esle printf("#");printf("%d/n",strlen(strcat(s1,s2)));}A) *8 B) #9C) #6 D) *949、以下程序运行后,输出结果是main(){int y=18,i=0,j,a[8];do{ a[i]=y%2; i++y=y/2;} while(y>=1)for(j=i-1;j>=0;j--) printf("%d",a[j]; printf("\n");}A) 10000 B) 10010 C) 00110 D) 10100答案:BBDDA ABBDC BAADC CADDD DCBBB CADCC DCACC DCBBC AACBC BCBB。
