程序设计基础形考任务1答案,C语言程序设计,求答案。万分感谢!
程序设计基础形考任务1答案,C语言程序设计,求答案。万分感谢!详细介绍
本文目录一览: 国家开放大学《程序设计基础》形考任务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
int 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. 主函数可以在其它函数之后,函数内可以嵌套定义函数。"
C语言程序设计试题 求标准答案 都是多选
\72就是ASCII码是72的字符,这是一个字符,选A
表达式值为0就是假命题,ACDE
AC
ABCD
1、答案:A
(单引号括起来的都是字符,而且一对单引号最多对应一个字符,\反斜杠是转义字符的开始,\72是ASCII码对应的字母H。也就是把H这个字母存到了变量char a中。就一个字符H。)
2、ACDE
解析:
int a=3,b=4,c=5;,
A、a>b
B、a<=b
C、(a||b)>c
D、a<=(b||c)
E、!((a<b)&&!c||b)
优先级由大到小:() ! && ||
A选项,3>4错误,逻辑值0。
B选项,3<=4正确,逻辑值1。
C选项,(3||4)>5,(3||4)"或"逻辑运算符两边只要有一个非0的整个值就是1,1>5错,逻辑值0。
D选项,3<=(4||5)错误,逻辑值0。
E选项,!((3<4)&&!5||4),先(3<4)逻辑值1,!5逻辑值0,1&&0是0,0||4是1,!1是0,所以逻辑值0。
3、AC。
解析:A可以,B答案b不能被赋值(自左向右,计算||左侧就已经是1了右边就不用再计算了整个表达式无论右边如何整个逻辑值必定是1,计算机也就不会计算右边了)C可以(因为&&两边都必须计算才能得出最后的逻辑值答案),D不可以a不能被赋值(&&左边就一个a,构不成赋值,可能存放一个随机值,右边可以被赋值)。
4、ABCD。
外部函数几乎可以被所有函数调用。只要开头#include” "引入。
VB高手求解 程序设计基础题 O(∩_∩)O谢谢
1.
"ABCDE " > " ABRA " 结果=True
2.
ch=”AABCDEFGH”
print mid(right(ch,6),len(left(ch,4)),2)
结果:FG
3.
a=”Visual Basic Programming”
b=”Quick”
c=b&Ucase(mid(a,7,6))&right(a,12)
变量c的值为:Quick Basic Programming
4.
print chr(65)
结果:A
5.
print sgn(2)
结果:1
6.
s=”ABCDEFGHIJK”
print left(s,4)
print right(s,4)
结果:
ABCD
HIJK
四、转换题
将下列数学算式写成在VB中对应的表达式
1.5+(a+b)2
5+(a+b)*2
2.cos(x)(sin(x)+1)
如果x以“度”为单位:
cos(x*3.14159/180)*sin(x*3.14159/180)+1)
3.e2+2
如果e2是指e平方的话:
exp(2)+2
4.2a(7+b)
2*a*(7+b)
5.8e3?ln2
如果8e3是科学计数法表示的话:(若是e的3次方则按上一题,表示为exp(3))
8000*log(2)
c语言程序设计的基础题目求教,请给解析(多追积分)
1:已知a=13,b=6,a%b的十进制数值为()
a%b,整数%整数,表示求余数,因此13%6=1
2:设x的值为15,n的值为了2,则表达式x%=(n+3)运算后的x的值是()
x%=(n+3)相当于x=x%(n+3),x%=n+3也表示x=x%(n+3),类似的有+=,-=,*=,/=
因此x=x%(n+3),x=15%5,x=0.
3:int
x=y=4,z=2;x=y==z;则x的值为()
x=y=4,等号是右结合的,也就是这种情况下要从右向左计算,因此相当于y=4;x=y;
而x=y==z,==的优先级比=高,因此相当于x=(y==z),y=4,z=2所以y==z不成立,所以y==z这个表达式的值是false,也就是0,所以x=0
4:若有定义:int
a=10,b=9,c=8;接着顺序执行后下列语句是,变量b中的值是()
c=(a-=(b-5));
c=(a%11)+(b=3);
由上面的几题为基础,
c=(a-=(b-5))相当于c=(a=a-(b-5)),c=(a=10-(9-5)),c=(a=6),所以a=6,c=6,b=9(表达式b-5并没有改变b的值)
c=(a%11)+(b=3)相当于,c=6%11+3=6+3=9,所以a=6,c=9,b=3
5:int
x=2,y=2,z=0;则表达式的x==y>z的值为()
x==y>z这个一个复合逻辑表达式,>优先级高于==,所以相当于x==(y>z),y>z成立,所以y>z==1,x==1不成立,所以表达式的值为0
6:若有以下定义和语句int
a[4]={0,1,2,3},*p;
p=&a[2];则*--p的值是()
p=&a[2];表示p是a[2]的地址
*--p相当于*(--p),就是先将p减1,也就是a[1]的地址,然后用*操作符取出地址中的值,也就是1
C语言程序设计,求答案。万分感谢!
第一题的:
#include
int main()
{
char c;
scanf("%c",&c);
if('a'<=c&&c<='z')
printf("%c\n",char(c-32));
else if('A'<=c&&c<='Z')
printf("%c\n",char(c+32));
else
printf("what you input is not a letter! ");
return 0;
}
第二题的:
#include
int main()
{ int x,y;
printf("Please input your number x:\n");
scanf("%d",&x);
if(x>-1)
y=2*x;
else if(x<-1)
y=4+x;
else y=3;
printf("%d",y);
return 0;
}
第三题:
#include
int main()
{
int n;
printf("Please input a integer number:\n");
scanf("%d",&n);
(n%2==0)?(printf("%d is Even\n",n)):(printf("%d is Odd\n",n));
return 0;
}
第四题的:
#include
int main()
{
float x,y;
printf("请输入员工的业绩金额(万元):\n");
scanf("%f",&x);
if(x<1)
y=1.03*x;
else if(x>=1&&x<5)
y=1.1*x;
else if(x>=5&&x<20)
y=1.5*x;
else y=1.2*x;
printf("该员工的奖金数是%g万元\n",y);
return 0;
}
第一题有人弄了。
第二题:
#include"stdio.h"
void main()
{
int x=0,y=0;
printf("为X赋值:");
scanf("%d",&x);
if(x>-1)
y=2*x;
else if(x==-1)
y=3;
else
y=4+x;
printf("Y的值为:%d \n",y);
}
第三题:
#include"stdio.h"
void main()
{
printf("输入一个整数:");
int a,
b;
scanf("%d",&a);
if(a%2 == 0)
printf("Is Even\n");
else
printf("Is Odd\n");
}
第四道
#include"stdio.h"
void main()
{
printf("请输入员工的业绩金额:");
float achi=0,
bonus=0;
scanf("%f",&achi);
if(achi<10000)
bonus=achi * ((float)3/20);
if(achi>= 10000 && achi <50000)
bonus=achi * ((float)1/10);
if(achi >= 50000 && achi < 200000)
bonus=achi * ((float)3/20);
if(achi>= 200000)
bonus=achi * ((float)1/5);
printf("该员工奖金为:%.2f\n",bonus);
}
跪求:c语言程序设计题目答案
int i,j;
char z;
for(i=1;i<=26;i++)
{
for(j=0,z=65;j<2*i+1;j++)
{
printf("%c",z);
z++;
}
printf("%n"); 这是回车符,我记不太清了。
}
int i,j,k;
char stringarray[26];
for(i=0;i<26;i++)
{
stringarray[i]=char(i+65);
}
for(i=0;i<26;i++)
{
for(j=0;j<=i;j++)
{
printf("%c ",stringarray[j]);
}
for(k=j-1;k>=0;k--)
{
printf("%c ",stringarray[k]);
}
printf("\n");
}
三楼的不错啊,学习了!
#include
void main()
{
unsigned i,j,line_num=1;
loop:
printf("请输入欲输入的行数:\n");
scanf("%d",&line_num);
printf("\n");
if (line_num==0 || line_num>26)
{
printf ("请输入一个1-26之间的数!\n");
goto loop;
}
start:
for(i=1;i<=line_num;i++)
{
for(j=1;j<=i;j++) printf("%c",'A'+j-1);
for(j=i-1;j>=1;j--) printf("%c",'A'+j-1);
printf("\n");
}
}
c++程序设计基础教程课后答案(清华大学出版社郑莉 董渊著)
第 一 章 概述
1-1 简述计算机程序设计语言的发展历程。
解:
迄今为止计算机程序设计语言的发展经历了机器语言、汇编语言、高级语言等阶段,C++语言是一种面向对象的编程语言,也属于高级语言。
1-2 面向对象的编程语言有哪些特点?
解:
面向对象的编程语言与以往各种编程语言有根本的不同,它设计的出发点就是为了能更直接的描述客观世界中存在的事物以及它们之间的关系。面向对象的编程语言将客观事物看作具有属性和行为的对象,通过抽象找出同一类对象的共同属性(静态特征)和行为(动态特征),形成类。通过类的继承与多态可以很方便地实现代码重用,大大缩短了软件开发周期,并使得软件风格统一。因此,面向对象的编程语言使程序能够比较直接地反问题域的本来面目,软件开发人员能够利用人类认识事物所采用的一般思维方法来进行软件开发。C++语言是目前应用最广的面向对象的编程语言。
1-3 什么是结构化程序设计方法?这种方法有哪些优点和缺点?
解:
结构化程序设计的思路是:自顶向下、逐步求精;其程序结构是按功能划分为若干个基本模块;各模块之间的关系尽可能简单,在功能上相对独立;每一模块内部均是由顺序、选择和循环三种基本结构组成;其模块化实现的具体方法是使用子程序。结构化程序设计由于采用了模块分解与功能抽象,自顶向下、分而治之的方法,从而有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子任务,便于开发和维护。
虽然结构化程序设计方法具有很多的优点,但它仍是一种面向过程的程序设计方法,它把数据和处理数据的过程分离为相互独立的实体。当数据结构改变时,所有相关的处理过程都要进行相应的修改,每一种相对于老问题的新方法都要带来额外的开销,程序的可重用性差。
由于图形用户界面的应用,程序运行由顺序运行演变为事件驱动,使得软件使用起来越来越方便,但开发起来却越来越困难,对这种软件的功能很难用过程来描述和实现,使用面向过程的方法来开发和维护都将非常困难。
1-4 什么是对象?什么是面向对象方法?这种方法有哪些特点?
解:
从一般意义上讲,对象是现实世界中一个实际存在的事物,它可以是有形的,也可以是无形的。对象是构成世界的一个独立单位,它具有自己的静态特征和动态特征。面向对象方法中的对象,是系统中用来描述客观事物的一个实体,它是用来构成系统的一个基本单位,由一组属性和一组行为构成。
面向对象的方法将数据及对数据的操作方法放在一起,作为一个相互依存、不可分离的整体--对象。对同类型对象抽象出其共性,形成类。类中的大多数数据,只能用本类的方法进行处理。类通过一个简单的外部接口,与外界发生关系,对象与对象之间通过消息进行通讯。这样,程序模块间的关系更为简单,程序模块的独立性、数据的安全性就有了良好的保障。通过实现继承与多态性,还可以大大提高程序的可重用性,使得软件的开发和维护都更为方便。
面向对象方法所强调的基本原则,就是直接面对客观存在的事物来进行软件开发,将人们在日常生活中习惯的思维方式和表达方式应用在软件开发中,使软件开发从过分专业化的方法、规则和技巧中回到客观世界,回到人们通常的思维。
1-5 什么叫做封装?
解:
封装是面向对象方法的一个重要原则,就是把对象的属性和服务结合成一个独立的系统单位,并尽可能隐蔽对象的内部细节。
1-6 面向对象的软件工程包括哪些主要内容?
解:
面向对象的软件工程是面向对象方法在软件工程领域的全面应用,它包括面向对象的分析(OOA)、面向对象的设计(OOD)、面向对象的编程(OOP)、面向对象的测试(OOT)和面向对象的软件维护(OOSM)等主要内容。
1-7 简述计算机内部的信息可分为几类?
解:
计算机内部的信息可以分成控制信息和数据信息二大类;控制信息可分为指令和控制字两类;数据信息可分为数值信息和非数值信息两类。
1-8 什么叫二进制?使用二进制有何优点和缺点?
解:
二进制是基数为2,每位的权是以2 为底的幂的进制,遵循逢二进一原则,基本符号为0和1。采用二进制码表示信息,有如下几个优点:1.易于物理实现;2.二进制数运算简单;3.机器可靠性高;4.通用性强。其缺点是它表示数的容量较小,表示同一个数,二进制较其他进制需要更多的位数。
1-9 请将以下十进制数值转换为二进制和十六进制补码:
(1)2 (2)9 (3)93
(4)-32 (5)65535 (6)-1
解:
(1) (2)10 = (10)2 = (2)16
(2) (9)10 = (1001)2 = (9)16
(3) (93)10 = (1011101)2 = (5D)16
(4) (-32)10 = (11100000)2 = (E0)16
(5) (65535)10 = (11111111 11111111)2 = (FFFF)16
(6) (-1)10 = (11111111 11111111)2 = (FFFF)16
1-10 请将以下数值转换为十进制:
(1)(1010)2 (2)(10001111)2 (3)(01011111 11000011)2
(4)(7F)16 (5)(2D3E)16 (6)(F10E)16
解:
(1)(1010)2 = (10)10
(2)(10001111)2 = (143)10
(3)(01011111 11000011)2 = (24515)10
(4)(7F)16 = (127)10
(5)(2D3E)16 = (11582)10
(6)(F10E)16 = (61710)10
1-11 简要比较原码、反码、补码等几种编码方法。
解:
原码:将符号位数字化为 0 或 1,数的绝对值与符号一起编码,即所谓"符号——绝对值表示"的编码。
正数的反码和补码与原码表示相同。
负数的反码与原码有如下关系:
符号位相同(仍用1表示),其余各位取反(0变1,1变0)。
补码由该数反码的最末位加1求得。
第 二 章 C++简单程序设计
2-1 C++语言有那些主要特点和优点?
解:
C++语言的主要特点表现在两个方面,一是全面兼容C,二是支持面向对象的方法。C++是一个更好的C,它保持了C的简洁、高效、接近汇编语言、具有良好的可读性和可移植性等特点,对C的类型系统进行了改革和扩充,因此C++比C更安全,C++的编译系统能检查出更多的类型错误。 C++语言最重要的特点是支持面向对象。
2-2 下列标识符哪些是合法的?
Program, -page, _lock, test2, 3in1, @mail, A_B_C_D
解:
Program, _lock, test2, A_B_C_D是合法的标识符,其它的不是。
2-3 例2.1中每条语句的作用是什么?
#include
void main(void)
{
cout<<"Hello!\n";
cout<<"Welcome to c++!\n";
}
解:
#include
//指示编译器将文件iostream.h中的代码
//嵌入到该程序中该指令所在的地方
void main() //主函数名,void 表示函数没有返回值
{ //函数体标志
cout<<"Hello!\n"; //输出字符串Hello!到标准输出设备(显示器)上。
cout<<"Welcome to c++!\n"; //输出字符串Welcome to c++!
}
在屏幕输出如下:
Hello!
Welcome to c++!
2-4 使用关键字const而不是#define语句的好处有哪些?
解:
const定义的常量是有类型的,所以在使用它们时编译器可以查错;而且,这些变量在调试时仍然是可见的。
2-5 请写出C++语句声明一个常量PI,值为3.1416;再声明一个浮点型变量a,把PI的值赋给a。
解:
const float PI = 3.1416;
float a = PI;
2-6 在下面的枚举类型中,Blue的值是多少?
enum COLOR ;
解:
Blue = 102
2-7 注释有什么作用?C++中有哪几种注释的方法?他们之间有什么区别?
解:
注释在程序中的作用是对程序进行注解和说明,以便于阅读。编译系统在对源程序进行编译时不理会注释部分,因此注释对于程序的功能实现不起任何作用。而且由于编译时忽略注释部分,所以注释内容不会增加最终产生的可执行程序的大小。适当地使用注释,能够提高程序的可读性。在C++中,有两种给出注释的方法:一种是延用C语言方法,使用"/*"和"*/"括起注释文字。另一种方法是使用"//",从"//"开始,直到它所在行的行尾,所有字符都被作为注释处理。
2-8 什么叫做表达式?x = 5 + 7是一个表达式吗?它的值是多少?
解:
任何一个用于计算值的公式都可称为表达式。x = 5 + 7是一个表达式,它的值为12。
2-9 下列表达式的值是多少?
1. 201 / 4
2. 201 % 4
3. 201 / 4.0
解:
1. 50
2. 1
3. 50.25
2-10 执行完下列语句后,a、b、c三个变量的值为多少?
a = 30;
b = a++;
c = ++a;
解:
a:32 ; b:30 ; c:32;
2-11 在一个for循环中,可以初始化多个变量吗?如何实现?
解:
在for循环设置条件的第一个";"前,用,分隔不同的赋值表达式。
例如:
for (x = 0, y = 10; x < 100; x++, y++)
2-12 执行完下列语句后,n的值为多少?
int n;
for (n = 0; n < 100; n++)
C程序设计试题,求答案。
2.赋值运算符的结合方式为(左)结合!
1.(N-S )是算法的一种图形化表示方法.
2.赋值运算符结合方式为( )结合.
3.( A)循环结构的循环主体部分至少被执行一次.
A REPEAT…UNIL B WHILE…ENDWHILE
C FOR D FOE…ENDFOR
4.若有代数式 3a e/b c,则不正确C语言表达式是(C )
A a/b/c*e*3 B 3a*e/b/c
C 3*a*e/b*3 D a*e/c/b*3
5.C语言允许函数类型缺省值定义,此时该函数值隐含的类型是(B )
A float B int
C long D double
6.在C语言中,要求运算数必须是整型的运算符是(C )
A / B ++
C % D =
7.在C源程序中,调用函数时,程序执行会转到(A )
A 被调用函数中的第一个语句 B 被调用函数中的最后一个语句
C 被调用函数中的随机语句 D 结束语句
8.下列对数组赋值的语句正确的是(A )
A static a{4}={0,0,0,0}
B int a{4}={0*4}
C static a{4}=0
D static a{4};a=0;
9.若有说明int a[3][4];则对a数组元素的正确引用是(AC )
A a[2][3] B a[1,3]
C a[1+1][0] D a (2)(1)
10.int x=10,y=20,z=30;
if(x>y) z=x; x=y;y=z;则执行后正确的是(B )
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
2.赋值运算符结合方式为( )结合.
我记得是左结合
1.( N-S)是算法的一种图形化表示方法.
2.赋值运算符结合方式为(右 )结合.
3.( A)循环结构的循环主体部分至少被执行一次. /*do-while? 这个参考下吧````*/
A REPEAT…UNIL B WHILE…ENDWHILE
C FOR D FOE…ENDFOR
4.若有代数式 3a e/b c,则不正确C语言表达式是(C )
A a/b/c*e*3 B 3a*e/b/c
C 3*a*e/b*3 D a*e/c/b*3
5.C语言允许函数类型缺省值定义,此时该函数值隐含的类型是(B )
A float B int
C long D double
6.在C语言中,要求运算数必须是整型的运算符是( C % D =)
A / B ++
C % D =
7.在C源程序中,调用函数时,程序执行会转到(A )
A 被调用函数中的第一个语句 B 被调用函数中的最后一个语句
C 被调用函数中的随机语句 D 结束语句
8.下列对数组赋值的语句正确的是( A)
A static a{4}={0,0,0,0}
B int a{4}={0*4}
C static a{4}=0
D static a{4};a=0;
9.若有说明int a[3][4];则对a数组元素的正确引用是(A、C )
A a[2][3] B a[1,3]
C a[1+1][0] D a (2)(1)
10.int x=10,y=20,z=30;
if(x>y) z=x; x=y;y=z;则执行后正确的是( B)
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
刚自己做的,有什么不对的地方望各位指教~~
c语言程序设计答案 编程实现,从键盘输入一个字符,则输出其后的字符,如输入‘A’则输出‘B’?
程序源码如下:
#define _CRT_SECURE_NO_WARNINGS//VS环境下需要,VC不需要
#include
void main()
{
char a;//定义一个字符
printf("请输入一个字符:");//文字提示
scanf("%c", &a);//输入一个字符
printf("其后续字符为:");//文字提示
printf("%c\n", a + 1);//输出其之后的字符
}
程序运行结果如下:
扩展资料:
在计算机中,所有的数据在存储和运算时都要使用二进制数表示(因为计算机用高电平和低电平分别表示1和0),例如,像a、b、c、d这样的52个字母(包括大写)以及0、1等数字还有一些常用的符号(例如*、#、@等)在计算机中存储时也要使用二进制数来表示。
而具体用哪些二进制数字表示哪个符号,当然每个人都可以约定自己的一套(这就叫编码),而大家如果要想互相通信而不造成混乱,那么大家就必须使用相同的编码规则,于是美国有关的标准化组织就出台了ASCII编码,统一规定了上述常用符号用哪些二进制数来表示。
ASCII 码使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符。标准ASCII 码也叫基础ASCII码,使用7 位二进制数(剩下的1位二进制为0)来表示所有的大写和小写字母,数字0 到9、标点符号,以及在美式英语中使用的特殊控制字符。其中:
1、0~31及127(共33个)是控制字符或通信专用字符(其余为可显示字符),如控制符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BS(退格)、BEL(响铃)等;
通信专用字符:SOH(文头)、EOT(文尾)、ACK(确认)等;ASCII值为8、9、10 和13 分别转换为退格、制表、换行和回车字符。它们并没有特定的图形显示,但会依不同的应用程序,而对文本显示有不同的影响 。
2、32~126(共95个)是字符(32是空格),其中48~57为0到9十个阿拉伯数字。
3、65~90为26个大写英文字母,97~122号为26个小写英文字母,其余为一些标点符号、运算符号等。
同时还要注意,在标准ASCII中,其最高位(b7)用作奇偶校验位。所谓奇偶校验,是指在代码传送过程中用来检验是否出现错误的一种方法,一般分奇校验和偶校验两种。
奇校验规定:正确的代码一个字节中1的个数必须是奇数,若非奇数,则在最高位b7添1;
偶校验规定:正确的代码一个字节中1的个数必须是偶数,若非偶数,则在最高位b7添1。
后128个称为扩展ASCII码。许多基于x86的系统都支持使用扩展(或“高”)ASCII。扩展ASCII 码允许将每个字符的第8 位用于确定附加的128 个特殊符号字符、外来语字母和图形符号
常见ASCII码的大小规则:0~9
<a~z<a~z。
1)数字比字母要小。如 “7”<“F”;
2)数字0比数字9要小,并按0到9顺序递增。如 “3”<“8” ;
3)字母A比字母Z要小,并按A到Z顺序递增。如“A”<“Z” ;
4)同个字母的大写字母比小写字母要小32。如“A”<“a” 。
几个常见字母的ASCII码大小: “A”为65;“a”为97;“0”为 48 。
参考资料来源:百度百科-ASCII
</a~z<a~z。
求:C语言程序设计试卷及答案一份
一、选择题(1~40题每题1分,41~50题每题2分,共60分)下列各题A、B、C、D四个选项中,只有一个选项是正确的。请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
1.微型计算机的运算器、控制器及内存储器组合在一起,称之为()(本题分值:1分)
【正确答案】D
A.ALU
B.CPU
C.MPU
D.主机
2.下列存储器中,存取速度最快的是()(本题分值:1分)
【正确答案】D
A.软盘
B.硬盘
C.光盘
D.内存
3.系统软件中最重要的是()(本题分值:1分)
【正确答案】A
A.操作系统
B.语言处理程序
C.工具软件
D.数据库管理系统
4、CPU处理的数据基本单位为字,一个字的字长()(本题分值:1分)
【正确答案】D
A.为8个二进制位
B.为16个二进制位
C.为32个二进制位
D.与CPU芯片的型号有关
5.打印当前屏幕内容应使用的控制键是()(本题分值:1分)
【正确答案】D
A.Scroll-Lock
B.Num-Lock
C.PgDn
D.PrtSc(Print Screen)
6.能将高级语言源程序转换成目标程序的是()(本题分值:1分)
【正确答案】C
A.调试程序
B.解释程序
C.编译程序
D.编辑程序
7.二进制数1110111.11转换成十进制数是()(本题分值:1分)
【正确答案】B
A.119.375
B.119.75
C.119.125
D.119.3
8.十六进制数FF.1转换成十进制数是()(本题分值:1分)
【正确答案】A
A.255.0625
B.255.125
C.127.0625
D.127.125
9.中国国家计算机网络设施是()(本题分值:1分)
【正确答案】A
A.NCFC
B.CERNET
C.ISDN
D.Internet
10.控制键^C的功能为()(本题分值:1分)
【正确答案】A
A.终止当前操作
B.系统复位
C.暂停标准输出设备的输出
D.结束命令行
11.COMMAND.COM为命令处理程序,DOS系统启动后,它()(本题分值:1分)
【正确答案】B
A.驻留在外存,需要时装入内存
B.常驻内存,包含所有内部命令
C.不能处理外部命令
D.不能处理后缀为.EXE的可执行文件
12.为了将所有扩展名为.PAS的文件改成扩展名为.P,应使用命令()(本题分值:1分)
【正确答案】C
A.REN *.PAS .?AS
B.REN PAS P
C.REN *.PAS *.P
D.REN *.PAS *.P??
13.设当前盘中文件XY.C的路径为\A\B\XU,当前目录为\A\B。为了查看文件XY.C的内容,应使用命令()(本题分值:1分)
【正确答案】A
A.TYPE XU\XY.C
B.TYPE \XU\XY.C
C.DIR XU\XY.C
D.DIR \A\B\XU\XY.C
14.要将提示符改成当前盘当前目录后加一个大于号“>”,应使用命令()(本题分值:1分)
【正确答案】B
A.PROMPT
B.PROMPT $ p $ g
C.PROMPT $ $
D.PROMPT C\>
15.在多媒体计算机系统中,CD-ROM属于()(本题分值:1分)
【正确答案】D
A.感觉媒体
B.表示媒体
C.表现媒体
D.存储媒体
16.设当前盘为C盘,将A盘根目录下的文件目录信息存放到当前盘当前目录下的文件AB中,应使用命令()(本题分值:1分)
【正确答案】C
A.TYPE A:\>AB
B.DIR >AB
C.DIR A:\>AB
D.DIR \>AB
17.在位运算中,操作数每右移一位,其结果相当于()(本题分值:1分)
【正确答案】B
A.操作数乘以2
B.操作数除以2
C.操作数除以16
D.操作数乘以16
18.在当前盘当前目录下有一个文件A.BAT,其内容为
CD \
MD \XYZ\AB\B\C
CD XYZ\AB\B
在正确执行上述文件后,接着执行下列命令时,不会发生错误的是()(本题分值:1分)
【正确答案】C
A.MD C
B.RD \XYZ
C.RD C
D.RD B
19.下列命令组中两个DOS命令互相等价的是()(本题分值:1分)
【正确答案】D
A.TYPE AB.TXT与DIR AB.TXT
B.DISKCOMP A:B:与COMP A:.* B:*.
C.TYPE AB.TXT>>XY.TXT与COPY AB.TXT XY.TXT
D.TYPE AB.TXT>XY.TXT与COPY AB.TXT XY.TXT
20.设A盘为启动盘,其目录结构为
根目录
DOS子目录 COMAND.COM
USER子目录 AUTOEXEC.BAT
其文件AUTOEXEC.BAT的内容如下:
MD \XYZ
CD \DOS\USER
则由A盘启动成功后,A盘的当前目录是()(本题分值:2分)
【正确答案】C
A.\DOS\USER
B.\XYZ
C.根目录
D.\DOS
21.C语言提供的合法关键字是()(本题分值:1分)
【正确答案】C
A.switch
B.cher
C.case
D.default
22.在C语言中,合法的字符常量是()(本题分值:1分)
【正确答案】B
A.′\084′
B.′\x43′
C.′ab′
D.′\0′
23.若已定义x和y为double类型,则表达式: x=1,y=x+3/2的值是()(本题分值:1分)
【正确答案】C
A.1
B.2
C.2.0
D.2.5
24.合法的数组定义是()(本题分值:1分)
【正确答案】D
A.int a[]=〃string〃;
B.int a[5]={0,1,2,3,4,5};
C.char a=〃string〃;
D.char a[]={0,1,2,3,4,5};
25.设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是()(本题分值:1分)
【正确答案】A
A.10<a<15
B.a==11||a==12||a==13||a==14
C.a>10&&a<15
D.!(a<=10)&&!(a>=15)
26.若t为double类型,表达式t=1,t+5,t++的值是()(本题分值:1分)
【正确答案】C
A.1
B.6.0
C.2.0
D.1.0
27.若有定义和语句:
char s[10];s=〃abcd〃;printf(〃%s\n〃,s);
则结果是(以下μ代表空格)()(本题分值:1分)
【正确答案】D
A.输出abcd
B.输出a
C.输出abcdμμμμμ
D.编译不通过
28.若有定义和语句:
int **pp,*p,a=10,b=20;
pp=&p;p=&a;p=&b;printf(〃%d,%d\n〃,*p,**pp);
则输出结果是()(本题分值:1分)
【正确答案】D
A.10,10
B.10,20
C.20,10
D.20,20
29.若有以下定义和语句:
int u=010,v=0x10,w=10;
printf(〃%d,%d,%d\n〃,u,v,w);
则输出结果是()(本题分值:1分)
【正确答案】A
A.8,16,10
B.10,10,10
C.8,8,10
D.8,10,10
30.若有以下定义和语句:
char c1=′b′,c2=′e′;
printf(〃%d,%c\n〃,c2-c1,c2-′a′+′A′);
则输出结果是()(本题分值:1分)
【正确答案】B
A.2,M
B.3,E
C.2,E
D.输出项与对应的格式控制不一致,输出结果不确定
31.若有定义:int a[3][4];,()不能表示数组元素a[1][1]。(本题分值:1分)
【正确答案】D
A.*(a[1]+1)
B.*(&a[1][1])
C.(*(a+1))[1]
D.*(a+5)
32.若i、j已定义为int型,则以下程序段中内循环体的总的执行次数是()(本题分值:1分)
for(i=5;i>0;i--)
for(j=0;j<4;j++){…}
【正确答案】A
A.20
B.24
C.25
D.30
33.若有以下定义和语句:
char *s1=〃12345〃,*s2=〃1234〃;
printf(〃%d\n〃,strlen(strcpy(s1,s2)));
则输出结果是()(本题分值:1分)
【正确答案】A
A.4
B.5
C.9
D.10
34.若有以下定义和语句:
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
则不能表示a数组元素的表达式是()(本题分值:1分)
【正确答案】B
A.*p
B.a[10]
C.*a
D.a[p-a]
35.下面程序的输出结果是()(本题分值:2分)
【正确答案】C
A.k=3 a=2 b=3
B.k=3 a=3 b=2
C.k=2 a=3 b=2
D.k=2 a=2 b=3
36.下面程序的输出结果是()(本题分值:1分)
main()
{unsigned a=32768;
printf(〃a=%d\n〃,a);}
【正确答案】C
A.a=32768
B.a=32767
C.a=-32768
D.a=-1
37.执行下面语句后的输出结果为()(本题分值:1分)
int i=-1;
if(i<=0) printf(〃****\n〃);
else printf(〃%%%%\n〃)
【正确答案】D
A.****
B.%%%%
C.%%%%c
D.有语法错误,不能正确执行
38.对于条件表达式(M)?(a++):(a--),其中的表达式M等价于()(本题分值:1分)
【正确答案】C
A.M==0
B.M==1
C.M!=0
D.M!=1
39.下述程序段的输出结果是()(本题分值:1分)
int x=10;
int7nbspy=x++;
printf(〃%d,%d〃,(x++,y),y++);
【正确答案】A
A.11,10
B.11,11
C.10,10
D.10,11
40.若有以下的定义:
int a[]={1,2,3,4,5,6,7,8,9,10},*p=a
则值为3的表达式是()(本题分值:1分)
【正确答案】A
A.p+=2,*(p++)
B.p+=2,*++p
C.p+=3,*p++
D.p+=2,++*p
41.假定所有变量均已正确说明,下列是程序段运行后x的值是()(本题分值:2分)
a=b=c=0;x=35;
if(!a) x--;
else if(b);
if(c) x=3;
else x=4;
【正确答案】B
A.34
B.4
C.35
D.3
42.在以下一组运算中,优先级最高的运算符是()(本题分值:2分)
【正确答案】C
A.<=
B.=
C.%
D.&&
43.若有以下定义和语句:
int w[2][3],(*pw)[3];pw=w;
则对w数组元素的非法引用是()(本题分值:2分)
【正确答案】A
A.*(w[0]+2)
B.*(pw+1)[2]
C.pw[0][0]
D.*(pw[1]+2)
44.若有以下程序片段: char str[ ]=〃ab\n\012\\\\〃; printf(〃%d〃,strlen(str));
上面程序片段的输出结果是()(本题分值:2分)
【正确答案】C
A.3
B.4
C.6
D.12
45.函数调用:strcat(strcpy(str1,str2),str3)的功能是()(本题分值:2分)
【正确答案】C
A.将串str1复制到串str2中后再连接到串str3之后
B.将串str1连接到串str2之后再复制到串str3之后
C.将串str2复制到串str1中后再将串str3连接到串str1之后
D.将串str2连接到串str1之后再将串str1复制到串str3中
46.以下对C语言函数的有关描述中,正确的是()(本题分值:2分)
【正确答案】A
A.在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参
B.C函数既可以嵌套定义又可以递归调用
C.函数必须有返回值,否则不能使用函数
D.C程序中有调用关系的所有函数必须放在同一个源程序文件中
47.以下叙述中不正确的是()(本题分值:2分)
【正确答案】C
A.在C中,函数中的自动变量可以赋初值,每调用一次,赋一次初值
B.在C中,在调用函数时,实参和对应形参在类型上只需赋值兼容
C.在C中,外部变量的隐含类别是自动存储类别
D.在C中,函数形参可以说明为register变量
48.设有以下定义或语句,则输出的结果是(用small模式编译,指针变量占2个字节)()(本题分值:2分)
struct date
{long *cat;
struct date *next;
double dog;
}too;
printf(〃%d〃,sizeof(too));
【正确答案】D
A.20
B.16
C.14
D.12
49.设有定义:struct sk
{int a;float b;}data,*p;
若有p=&data;,则对data中的a域的正确引用是()(本题分值:2分)
【正确答案】B
A.(*p).data.a
B.(*p).a
C.p->data.a
D.p.data.a
50.以下对枚举类型名的定义中正确的是()(本题分值:2分)
【正确答案】B
A.enum a={one,two,three};
B.enum a{one=9,two=-1,three};
C.enum a={〃one〃,〃two〃,〃three〃};
D.enum a{〃one〃,〃two〃,〃three〃};
二、填空题(每空2分,共40分)请将答案分别写在答题卡中序号【1】至【20】的横线上,答在试卷上不得分。
1、与十进制数101等值的二进制数为。(本题分值:2分)
【正确答案】
【1】1100101
2、DOS命令分为内部命令与外部命令,XCOPY命令属于命令。(本题分值:2分)
【正确答案】
【2】外部
3、设当前盘为A盘,当前系统提示符为“>”,在不改变当前盘的情况下,显示C盘的当前目录路径,应使用命令。 (本题分值:2分)
【正确答案】
【3】CD C:
4、自动批处理文件名必须是。(本题分值:2分)
【正确答案】
【4】AUTOEXEC.BAT
5、设在当前盘当前目录下有两个文件W.TXT与P.TXT,现要将文件P.TXT连接到文件W.TXT的后面,若使用COPY命令,则完整的命令为。(本题分值:2分)
【正确答案】
【5】COPY W.TXT+P.TXT W.TXT
6、表示条件10<x<100或x<0的C语言表达式是。(本题分值:2分)
【正确答案】
【6】(x>10&& x<100)||x<0
或(10<x&&x<100)||x<0
或x<0 ||(x>10&&x<100)
或0>x ||(10<x&&x<100)
7、以下程序中,主函数调用了LineMax函数,实现在N行M列的二维数组中,找出每一行上的最笾怠G胩羁铡?br> #define N 3
#define M 4
void LineMax(int x[N][M])
{ int i,j,p;
for(i=0;i<N;i++)
{p=0;
for(j=1;j<M;j++)
if(x[i][p]<x[i][j]) ;
printf(〃The max value in line is %d\n〃,);
}
}
main()
{ int x[N][M]={1,5,7,4,2,6,4,3,8,2,3,1};
;
}
(本题分值:6分)
【正确答案】
【7】p=j
【8】x[i][p]
【9】LineMax(x)
8、以下程序的功能是:从键盘上输入若干个学生的成绩,统计计算出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。请填空。
main()
{float x[1000],sum=0.0,ave,a;
int n=0,i;
printf(〃Enter mark:\n〃);scanf(〃%f〃,&a);
while(a>= 0.0 && n<1000)
{sum+=;x[n]=;
n++; scanf(〃%f〃,&a);
}
ave= ;
printf(〃Output:\n〃);
printf(〃ave=%f\n〃,ave);
for(i=0;i<n;i++)
if() printf(〃%f\n〃,x[i]);
}
(本题分值:8分)
【正确答案】
【10】a
【11】a
【12】sum/n或sum/(float)n或sum/(double)n
【13】x[i]<ave或!(x[i]>=ave)或ave>x[i]
9、执行以下程序,输入-10的结果是,输入5的结果是,输入10的结果是,输入30的结果是。
(本题分值:8分)
【正确答案】
【14】0
【15】5
【16】10
【17】5
10、以下程序的功能是。
main()
{int num[10]={10,1,-20,-203,-21,2,-2,-2,11,-21};
int sum=0,i;
for(i=0;i<10;i++)
if(num[i]>0)
sum=num[i]+sum;
printf(〃sum=%6d〃,sum);
}
(本题分值:2分)
【正确答案】
【18】计算数组num中大于零的数据之和
11、以下程序可以把从键盘上输入十进制数(long型)以二到十六进制数的形式输出,请填空。
#include
main()
{char
b[16]={′0′,′1′,′2′,′3′,′4′,′5′,′6′,′7′,′8′,′9′,′A′,′B′,′C′,′D′,′E′,′F′};
int c[64],d,i=0,base;
long n;
printf(〃Enter a number:\n〃); scanf(〃%1d〃,&n);
printf(〃Enter new base:\n〃); scanf(〃%1d〃,&base);
do
{c[i]=;
i++;
n=n/base;
}while(n!=0);
printf(〃The result is:\n〃);
for(--i;i>=0;--i)
{?d=c[i];
printf(〃%c〃,b);
}
}
(本题分值:4分)
【正确答案】
【19】n%base
【20】 [d]