当前位置:文档之家› C程序设计基础

C程序设计基础

C程序设计基础
C程序设计基础

c语言规定,任何非0的数像1 -1等都被认为是真,而0被认为是假

1>1为假

试题一、单选题

1. 已知int k,m=1;执行语句k=-m++;后,k的值是_____。【知识点:难度:正确答案:A】

A.-1 B.0 C.1 D.-2

2. 已知定义int m; float k; 正确的语句是。【知识点:难度:正确答案:D】

A.(int k)%m B.int(k)%m C.int(k%m)D.(int)k%m

3. 当k的值不为0时,在下列选项中能够将k的值赋给变量m,n的是______。【知识点:难度:

正确答案:B】

A.m=k=n B.(m=k)&&(n=m)

C.(m=k)||(n=k)D.(n=m)&&(m=k)

4. 已知int x=5; 表达式6>x>1值是_____。【知识点:难度:正确答案:A】

A.0 B.1 C.5 D.表达式语法错

表达式6>x>1 ,先

判断6>x 为0,再

判断0>1,所以值

为0。

(6>x 为1 ,再判

断1>1,所以值为

0。)

5. 下列程序段执行后c值为_____。【知识点:难度:正确答案:D】

int k=7, c=0;

while(--k)

if (k%3) continue; else c++;

A.5 B.4 C.3 D.2

6. 已知字母a的ASCII码为十进制数97,且ch为字符型变量,则执行语句ch=‘a’+‘D’-‘A’;后,ch

中的值为_____。【知识点:难度:正确答案:C】

A.d B.c C.100 D.不确定

7. 设m,n已正确定义,执行语句{for(m=0, n=10; m

【知识点:难度:正确答案:C】

A.6,7 B.7,6

C.9,7 D.7,9

8. 已知char *t[] ={”How”, ”are”, ”you!”};则t是_______。【知识点:难度:正确答案:B】

A.指向char变量的指针B.指向字符指针的指针常量

C.指向”How”的指针变量D.指向’H’的指针

9. 假设scanf语句执行时输入ABCDE<回车>,能使puts(s)语句正确输出ABCDE字符串的程序

段是______。【知识点:难度:正确答案:C】

A.char s[5] = {"ABCDE"}; puts(s) B.char s[5] = {‘A’,’B’,’C’,’D’,’E’}; puts(s);

C.char *s; s = "ABCDE"; puts(s); D.char *s; scanf(“%s”,s); puts(s);

《C程序设计基础及实验》

10. 以下程序有错,错误原因是______。【知识点:难度:正确答案:D】

main()

{ int *p, i; char *q, ch;

p = &i;

q = &ch;

*p = 40;

*p = *q;

......

}

A. p和q的类型不一致,不能执行*p=*q;语句

B. *p中存放的是地址值,因此不能执行*p=40;语句

C. q没有指向具体的存储单元,所以*q没有实际意义

D. q虽然指向了具体的存储单元,但该单元中没有确定的值,所以执行*p=*q;没有意义,可能会影响后面语句的执行结果

11. 若有定义:int a=2, b=5, c=8; 则表达式c |= (~a && b) ^ !(a & b)的值为_____。【知识点:难

度:4正确答案:B】

A.14 B.8 C.1 D.0

12. 设int a=5, b=7, 表达式(++a == b--)? ++ a : --b 的值是_______。【知识点:难度:2正确

答案:C】

A.7 B.6 C.5 D.4

13. 设a=3, b=2, 那么表达式(a=b=7, b=a!=7) 的值是。【知识点:难度:2正确答

案:D】

A.1 B.2 C.7 D.0

逗号(,)也可以是运算符,逗号表达式最右边的子表达式的值即为逗号表达式的值。而b=a!=7的值为0

逗号运算符只取最右边的子表达式的值,但每个子表达式都要运行

14. 设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行语句(m=a>b)&&(n=c>d);后n的值是_____。【知

识点:难度:3正确答案:A】

A.2 B.1 C.0 D.3

&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true 时,整个运算结果才为true,否则,只要有一方为false,则结果为false。

&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,

15. 下列程序段的输出结果是_____。【知识点:难度:3正确答案:B】

int k=2, s=0;

switch (k) {

case 2: s++; k++;

《C程序设计基础及实验》

case 1: s++;

case 3: s+=1;

switch(s){

case 2: s+=2; break;

default: k++; break;

}

default: s+=3;

}

printf("%d#%d#", s, k);

A.1#3# B.6#4# C.3#2# D.3#4#

16. 下列程序的输出结果是_____。【知识点:难度:2正确答案:C】

int f(int x)

{ static int k;

return ++k + x;

}

main( )

{ int k;

for(k=1; k<4; k++) printf("%d#", f(k) );

}

A.2#5# B.3#6# C.2#4#6# D.不确定

17. 下列程序的输出结果是_____。【知识点:难度:2正确答案:D】

main()

{ char x=040;

printf("%o\n",x<<1);

}

A.o B.40 C.D.100

18. 下列程序段的输出是__________。【知识点:难度:3正确答案:A】

main()

{ int x= -9, y=5, z=8;

if(x=y)if(x>0)z=0; else z+=1;

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

}

A.z=0 B.z=1 C.z=8 D.z=9

《C程序设计基础及实验》

esle子句与其之前最近的不完整if配对。

C语言中等号“=”为赋值运算符,不用于判断相等,判断相等应用“==”,因此

执行x=y后,x=5,if(5)相当于if(true), 执行if(x>0)z=0,所以z=0

19. 下列程序段的输出是__________。【知识点:难度:3正确答案:B】

#define SQ(a,b) (a*a-2*a*b+b*b)

main()

{ int k=4;

printf("%d", SQ(k, k-1) );

}

A.1

B.-18 C.-15 D.-8

#define定义一个宏(不是一个函

数),用于字符串的替换,注意替换不

是用数值去替换,也不会自动加括号,

因此

SQ(k,

k-1)=k*k-2*k*k-1+k-1*k-1=-k*k-2

SQ(4,3)=-4*4-2=-18

20. 若运行以下程序时,从键盘输入Hello_Everyone!表示回车),则下面程序的运行

结果是_________。【知识点:难度:2正确答案:C】

main()

{ char c;

int v1=0,v2=0;

do{

switch(c=getchar())

{case 'a': case 'A': case 'e': case 'E': case 'i': case 'I': case 'o': case 'O':

case 'u': case 'U': v1+=1;

default: v1+=1;v2+=1; }

} while( c != '\n' );

printf("%d,%d\n", v1, v2);

}

A.6,10 B.21,10 C.22,10 D.6,9

21. 下列程序段输出_____。【知识点:难度:4正确答案:D】

main()

{ char str[2][5] = { "abcd" };

strcpy( str[0], "You" ); strcpy( str[1], "Me" );

str[0][3] = '&';

《C程序设计基础及实验》

printf( "%s\n", *str );

}

A.You&Me B.abcd C.abc& D.You&

22. 对于函数f,调用f (12345) 的输出是_____。【知识点:难度:3正确答案:A 】

void f (int n)

{ if(n<10) printf( "%1d", n );

else { f(n/10); printf( "%1d", n%10); }

}

A.12345 B.54321 C.11111 D.5432

23. 下列程序段的输出结果是_____.【知识点:难度:2正确答案:B】

void fun(char *fname,char *st)

{ FILE *myf; int i;

myf = fopen(fname,"w" );

for(i=0; i

fclose(myf);

}

void main()

{

fun("test_", "C_");

fun("test_", "is_fun");

}

A.C_is_fun B.is_fun C.test_is_fun D.C_

试题二、程序阅读题

1. 以下程序的输出结果是_______。【知识点:难度:3正确答案:C】

main()

{ char ch[2][5]= { "1234", "5678" }, *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′;j+=2)

s=10*s + p[i][j]- ′0′;

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

}

A.1537 B.2468 C.1357 D.2648

2. 运行下列程序的输出结果是__________。【知识点:难度:3正确答案:D】

《C程序设计基础及实验》

struct st

{ int x;

int *y;

} *p;

int dt[4] = { 10, 20, 30, 40 };

struct st aa[4] = { 50, &dt[0], 60, &dt[1], 70, &dt[2], 80, &dt[3] };

main()

{ p=aa;

printf("%d,", ++p->x); printf("%d,", ++p->x); printf("%d", ++ (*p->y));

}

A.60,60,21 B.51,51,21 C.60,70,31 D.51,52,11

3. 下列程序的输出结果是__________。【知识点:难度:4正确答案:A】

void fun(int m, int *a, int *n)

{ int i,j=0;

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

if(i%3==0 && i%7==0)

a[j++]=i;

*n=j;

}

void main()

{ int aa[50],n,k;

fun(50, aa, &n);

for(k=0; k

printf("%d#", aa[k]);

}

A.21#42# B.3#7# C.3#7#21#42# D.3#7#9#49#

4. 运行下面程序的输出结果是__________。【知识点:难度:3正确答案:B】

int x, y;

int f( int n )

{ static int x=0;

x++;

if( !(n%3)) printf("%d", n);

else y++;

return x;

}

void main()

{ int i;

x=1; y=5;

《C程序设计基础及实验》

C语言程序设计基础知识 习题一及参考答案

第一章:程序设计基础知识 一、单项选择题 1、以下( )是面向过程的程序设计语言。 A)机器语言B)汇编语言C)高级语言D)第四代语言 2、程序设计一般包含以下四个步骤,其中其中首先应该完成的是( )。 A)设计数据结构和算法B)建立数学模型 C)编写程序D)调试和运行程序 3、以下常用算法中适合计算等差级数的算法是( )。 A)枚举法B)递推法C)分治法D)排序法 4、以下不属于算法基本特征的是( )。 A)有穷性B)有效性C)可靠性D)有一个或多各输出 5、以下描述中不正确的是( )。 A)程序就是软件,但软件不紧紧是程序。 B)程序是指令的集合,计算机语言是编写程序的工具。 C)计算机语言都是形式化的语言,它有一个语法规则和定义。 D)计算机语言只能编写程序而不能表示算法。 6、下面描述中,正确的是( ) A)结构化程序设计方法是面向过程程序设计的主流。 B)算法就是计算方法。 C)一个正确的程序就是指程序书写正确。 D)计算机语言就是编写程序的工具而不是表示算法的工具。 7、下面描述中,不正确的是( )。 A)递归法的关键是必须有一个递归终止的条件。

B)递归算法要求语言具有反复自我调用子程序的能力。 C)对于同一个问题,递推算法比递归算法的执行时间要长。 D)递推算法总可以转换为一个递归算法。 8、N-S图与传统流程图比较,主要优点是( )。 A)杜绝了程序的无条件转移。 B)具有顺序、选择和循环三种基本结构。 C)简单、只管。 D)有利于编写程序。 A)B)C)D) 二、填空题 1、在流程图符号中,判断框中应该填写的的是________。(判断条件) 2、结构化程序设计是__________应遵循的方法和原则。(面向过程编程) 3、结构化程序必须用__________程序设计语言来编写。(具有结构化控制语句) 4、可以被连续执行的一条条指令的集合称为计算机的________。(程序) 5、只描述程序应该“做什么”,而不必描述“怎样做”的语言被称为________。(面向对象) 6、任何简单或复杂的算法都是由_____和_____这两个要素组成。(数据结构算法) 7、算法的_______特征是指:一个算法必须在执行有限个操作步骤后终止。(有穷性) 8、在三种基本结构中,先执行后判断的结构被称为_________。(直到型循环结构) 9、在程序设计中,把解决问题确定的方法和有限的步骤称为______。(算法) 10、程序设计风格主要影响程序的________。(可读性) 11、用模块组装起来的程序被成为________结构化程序。(模块化) 12、采用自上而下,逐步求精的设计方法便于____________。(结构化和模块化) 三、应用题

C程序设计基础题(带答案)

选择题: 1.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为() x=(i=4,j=16,k=32) .(C程序设计) A) 4 B) 16 C) 32 D) 52 2.一个C程序的执行是从().(C程序设计) A) 本程序的main函数开始,到main函数结束 B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C) 本程序文件的第一个函数开始,到本程序main函数结束 D) 本程序的main函数开始,到本程序文件的最后一个函数结束 3.以下合法的变量名称().(C程序设计) A) Tel_num B) 8678 C) D) float 4.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=‘A’+‘6’-‘3’后,以%d形式输出c2,则结果为:()(C程序设计) A) D B) 68 C) 不确定的值 D) C 5.已知字母A的ASCII值为65,以下C语言程序的输出的结果是:( ). (C程序设计) char c1='A',c2='D'; printf("%c,%d\n",c1,c2); A)因输出格式不合法,输出错误信息 B)A,68 C)A,D D)65,68 6.以下程序的运行结果是(). (C程序设计) main() { int a,b,d=241; a=d/100%9; b=(-1)&&(-1); printf(“%d,%d”,a,b); } A) 6,1 B) 2,1 C) 6,0 D) 2,0 7.下面的程序段,输出结果是:( ). (C程序设计)

int a=3,b=4,c; c=(a>b) a+2:b+3; printf(“%d”,c); A) 7 B) 3 C) 4 D) 5 8.已知ch是字符型变量,下面不正确的赋值语句是(). (C程序设计) A) ch=‘a+b’; B) ch=‘\0’; C) ch=‘7’+‘9’; D) ch=5+9; 9.判断char型变量ch是否为大写字母的正确表达式是(). (C程序设计) A) ‘A’<=ch<=‘Z’ B) (ch>=‘A’)&(ch<=‘Z’) C) (ch>=‘A’)&&(ch<=‘Z’) D) (‘A’<= ch)AND(‘Z’>= ch) 10.读下面的程序段,输出结果是(). (C程序设计) int aa=2; aa*=2; b=aa++; printf(“%d”,b); A) 3 B) 4 C) 5 D) 6 11. 读程序,分析下面的程序将输出()次“我爱中国”. (C程序设计) int i; for(i=1;i<5;i--) {printf(“我爱中国\n”); } A) 1 B) 4 C) 0 D) 无限次 12.int i; i=sizeof(float)的结果是(). (C程序设计) A) 4 B)3 C) 2 D) 1 13.以下程序段,运行结果为(). (C程序设计) x=-1;

C语言程序设计基础试题及答案

第一部分C语言基础 一、选择题 1、以下正确得C语言标识符就是() A。%X B。a+b?C.a123 D.test! 2、已定义int a,b;则以下不正确得C语句就是() A.a*=5;??B。b/=2;? C.a+=1、75;?D.b&&=a; 3、若x、i、j与k都就是整型变量,则执行下面表达式后x得值为( ) x=(i=4,j=16,k=32) A.4?B.16 ?C.32 D.52 4、C语言中得标识符只能由字母、数字与下划线三种字符组成,且第一个字符( ) A.必须就是字母???B.必须为下划线? C.必须为字母或下划线D.可以就是字母、数字、下划线中得任一字符 5、下面正确得字符常量就是( ) A.“c”? B。’\\”? C.‘w’??D.” 6、设int a=2,b=0,c;则执行语句c+=b&&a--后, c得结果为( )。 A.0,1B.1,0 ?C.2,0 D.不确定 7、以下不正确得C语言标识符就是()?A) int B)a_1_2?C)ab1exe D)_x 8、以下就是正确得C语言标识符就是( )。?A)#define?B)_123 C) %d D) \n 9、下列四组字符串中都可以用作C语言程序标识符得一组就是() 。?A) prin tB)i\am C)Pxq D)str_l ???oodbs tart$it line# _3d one_half My-〉bookCpp ? pow 10、下面各选项组中,均就是C语言关键字得组就是()。?A)auto,enu

m,include B)switch,typedef,continue?C)signed,union,scanf?D)if,s truct,type 11、下列不属于C语言关键字得就是( ) 。 A)default?B)register C)enum ?D)external 12、C语言程序从main()函数开始执行,所以这个函数要写在( )。?A) 程序文件得开始?B)程序文件得最后?C)它所调用得函数得前面 D) 程序文件得任何位置 13、下列关于C语言得叙述错误得就是( ) A)大写字母与小写字母得意义相同?B) 不同类型得变量可以在一个表达式中 C)在赋值表达式中等号(=)左边得变量与右边得值可以就是不同类型?D) 同一个运算符号在不同得场合可以有不同得含义 14、在C语言中,错误得int类型得常数就是( ) 。?A)32768?B)0 C)037?D) 0xAF 15、将字符g赋给字符变量c,正确得表达式就是( )。 A) c=\147 ?B)c="\147" ?C)c='\147' 16、下列转义字符中错误得一个就是( )。 A) ’\000’ B)'\0014' ?C) ’\x111’ D) ’\2’ 17、将空格符赋给字符变量c,正确得赋值语句就是( )。 A) c=’\0’ B) c=NULL C)c=0 D)c=32 18、已知:char a=’\70’;则变量a中()。 A)包含1个字符?B)包含2个字符?C) 包含3个字符?D) 说明非法 19、字符串"\”EOF\n=-\61\””得长度就是( )。 A)8 ?B) 9?C)14?D)非法字符串

C语言程序设计基础测试题-答案

C语言程序设计基础测试题 一、单选 [1] 下面叙述中错误的是____。 A. 复合语句中定义的函数只在该复合语句中有效 B. return( )语句中的括号中,可以是变量,常量或有确定值的表达式 C. 形式参数也是局部变量 D. 主函数中定义的变量在整个程序中都是有效的 [2] 下列说法中正确的是____。 A.带参数的宏定义中的参数是没有类型的 B.宏展开将占用程序的运行时间 C.宏定义命令是C语言中的一种特殊语句 D.使用#include命令包含的头文件必须以“.h"为后缀 [3] 若函数的形参为一维数组,则下列说法中正确的是____。 A.调用函数时的对应实参必为数组名 B.形参数组可以不指定大小 C.形参数组的元素个数必须等于实参数组的元素个数 D.形参数组的元素个数必须多于实参数组的元素个数 [4] 系统的标准输出设备是____。 A.键盘 B.硬盘 C.内存 D.显示器 [5] 下面叙述中正确的是____。 A.全局变量在定义它的文件中的任何地方都是有效的 B.全局变量在程序的全部执行过程中一直占用内存单元 C. C语言的switch语句中case后可为常量或表达式或有确定值的变量及表达式 D. 说明函数时必须明确其参数类型和返回类型 [6] C程序的基本结构单位是____。 A.文件 B.语句 C.函数 D.表达式 [7] 对于定义,char *aa[2]={"abcd","ABCD"},选项中说法正确的是____。 A.aa数组元素的值分别是"abcd"和"ABCD" B.aa是指针变量,它指向含有两个数组元素的字符型一维数组 C.aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址 D.aa数组的两个元素中各自存放了字符'a'和'A'的地址 [8] 任何一个C语言的可执行程序都是从____开始执行的。 A.程序中的第一个函数 B.main( )函数的入口处

C程序设计基础测试题(一)资料

学号:姓名: C#程序设计基础测试题 一、填空题: 1、()是所有数组的基类。 2、布尔型的变量可以赋值为关键字()或()。 3、System.Array有一个()属性,通过它可以获取数组的长度。 4、设x=10; 则表达式x<10?x=0:x++ 的值为() 5、已知整型变量a=5,b=4,c=6,则a>b?(a>c?a:c):b的结果为()。 6、有一个字符串的定义为string s = “hello world!”; 在此字符串中,字符w的索引是()。 7、C#语言源代码文件的后缀名是()。 8、在C#程序中,程序的执行总是从()方法开始的 9、在循环执行过程中,希望当某个条件满足时退出循环,使用()语句 10、下列程序段执行后,a[4]的值为()。int []a={1,2,3,4,5};a[4]=a[a[2]]; 11、8/3的结果是()。 12、在Array类中,可以对一维数组中的元素进行排序的方法是()。 13、()是独立于CPU 的指令集,它可以被高效地转换为特定于某种CPU 的代码。 14、C#中执行下列语句后,int n=21; n<<=1;n的值为() 15、C#中每个char类型量占用()个字节的内容。 16、表达式2+5/10*10 的值为()。 17、float f=-123.567F; int i=(int)f.则i的值现在是()。 18、C#中的字符串有两类,规则字符串和逐字字符串,定义逐字字符串时,应该在其前面加上()号。 19、计算表达式“10*10*10>10||2<2+3”结果为()。 20、循环语句“for(int i=30;i>=10;i=i-3)”循环次数为()次。 二、选择题: 1、关于如下程序结构的描述中,哪一项是正确的?() for ( ; ; ) { 循环体; } a) 不执行循环体b) 一直执行循环体,即死循环 c) 执行循环体一次d) 程序不符合语法要求 2、枚举类型是一组命名的常量集合,所有整形都可以作为枚举类型的基本类型,如果类型省略,则定义为()。 a) int b) sbyte c) uint d) ulong 3、C#数组主要有三种形式,它们是()。 a) 一维数组、二维数组、三维数组b) 整型数组、浮点型数组、字符型数组 c) 一维数组、多维数组、不规则数组d) 一维数组、二维数组、多维数组 4、可用作C#程序用户标识符的一组标识符是()。 A. void define +WORD B. a3_b3 _123 YN C. for -abc Case D. 2a DO sizeof 5、下列类型中, 哪些不属于引用类型?()。 a) String b) int c) Class d) Delegate 6、C#中导入某一命名空间的关键字是()。 a) using b) use c)import d) include 7、以下程序的输出结果是()。 enum Color { Red, Green = 2, Blue } static void Main(string[] args)

C程序设计基础复习题集

c语言规定,任何非0的数像1-1等都被认为是真,而0被认为是假 1>1为假 试题一、单选题 1.已知int k,m=1;执行语句k=-m++;后,k的值是_____。【知识点:难度:正确答案:A】 A.-1 B.0 C.1 D.-2 2.已知定义int m; float k; 正确的语句是。【知识点:难度:正确答案:D】 A.(int k)%m B.int(k)%m C.int(k%m)D.(int)k%m 3.当k的值不为0时,在下列选项中能够将k的值赋给变量m,n的是______。【知识点:难度: 正确答案:B】 A.m=k=n B.(m=k)&&(n=m) C.(m=k)||(n=k)D.(n=m)&&(m=k) 4.已知int x=5; 表达式6>x>1值是_____。【知识点:难度:正确答案:A】 A.0 B.1 C.5 D.表达式语法错 表达式6>x>1 , 先判断6>x 为0, 再判断0>1,所以 值为0。 (6>x 为1 ,再判 断1>1,所以值为 0。) 5.下列程序段执行后c值为_____。【知识点:难度:正确答案:D】 int k=7, c=0; while(--k) if (k%3) continue; else c++; A.5 B.4 C.3 D.2 6.已知字母a的ASCII码为十进制数97,且ch为字符型变量,则执行语句ch=‘a’+‘D’-‘A’;后, ch中的值为_____。【知识点:难度:正确答案:C】

A.d B.c C.100 D.不确定 7.设m,n已正确定义,执行语句{for(m=0, n=10; m,能使puts(s)语句正确输出ABCDE字符串的程序 段是______。【知识点:难度:正确答案:C】 A.char s[5] = {"ABCDE"}; puts(s) B.char s[5] = {‘A’,’B’,’C’,’D’,’E’}; puts(s); C.char *s; s = "ABCDE"; puts(s); D.char *s; scanf(“%s”,s); puts(s); 10.以下程序有错,错误原因是______。【知识点:难度:正确答案:D】 main() { int *p, i; char *q, ch; p = &i; q = &ch; *p = 40; *p = *q; ...... } A. p和q的类型不一致,不能执行*p=*q;语句 B. *p中存放的是地址值,因此不能执行*p=40;语句 C. q没有指向具体的存储单元,所以*q没有实际意义

程序设计基础(C)作业答案

《程序设计基础(C)》作业 第1章C语言的基本构成 一、选择题 1.( A )是构成C语言程序的基本单位。 (A)函数(B)过程 (C)子程序(D)文件 2.(D )是C语言提供的合法的数据类型关键字。 (A)Float (B)signed (C)integer (D)Char 3.以下选项中不合法的用户标识符是( C )。 (A)abc.c (B)file (C)Main (D)PRINTF 4.以下选项中不合法的用户标识符是(C )。 (A)l23 (B)printf (C)A$(D)Dim 5.合法的C语言长整型常数是( B )。 (A)0L (B)5712700 (C)0.054838743 (D)2.1869e10 6.C语言中,要求运算数必须是整型的运算符是( B )。 (A)% (B) / (C)< (D)! 7.以下选项中正确的整型常量是( A )。 (A)12. (B)-20 (C)l,000 (D)0458 8.以下选项中不正确的实型常量是( D )。 (A)2.607E-1 (B)0.8103e2. (C)77.77 (D)456e-2 9.C语言中运算对象必需是整型的运算符是( B )。 (A) \ (B) + (C) * (D) % 二、程序调试题 1.编辑、调试以下程序 步骤1:在Visual C++环境下新建文件可用[开始]→[程序]→[Microsoft Visual C++6.0] →[Microsoft Visual C++6.0] →[文件] →[新建]→[文件] →[C++ Sourse File],输入文件

请思考文件ex1-1.c由几个函数构成?调用了那几个系统函数?此程序中用到了哪几个保留字?哪几个用户自定义标识符? 步骤3: 编译并运行程序,程序运行时输入两个整数,20 40 ,观察程序运行的结果。 2.编辑、调试以下程序 步骤1:在Visual C++环境下新建文件可用[开始]→[程序]→[Microsoft Visual C++6.0] →[Microsoft Visual C++6.0] →[文件] →[新建]→[文件] →[C++ Sourse File],输入文件名ex1-2.c 步骤3:[文件] →[新建]→[文件] →[C++ Sourse File],输入文件名ex1-2-2.c,源程序代码为:

程序设计基础—C语言,科学出版社

程序设计基础——C语言 科学出版社 第六章——其他数据模型,教材习题答案。 东风冷雪 如果认为对自己不利那就离开。 你看了比没有看好,首先印象还是有的,如果自己不会你可能都不会写,结果就是什么也不做,老师讲解时效果也会降低。其次你不会可能上网查书也是为了寻找答案,这样浪费时间(可能影响深些)。 一份答案做起来不容易,合理利用不要全部抄复制,这样老师会发现。你可以修改啊!你可以排版的比我更加调理清楚。 1.0 #include struct s { int x,*y; } *p; int date[]={10,20,30}; struct s array[]={100,&date[0],200,&date[1],300,&date[2]};

void main() { p=array; printf("%d\n",++p->x); printf("%d\n",++*p->y); printf("%d\n",*++p->y); } /* p指向结构体数组array首地址即是&array[0]. (1)++p->x 中->运算符优先级大于++所以)p->x 结果是100++p->x =101。 (2)++*p->y中->运算符优先级大于++和*++和*同优先级别结合方向自右向左所以p->y=&date[0], *p->y=date[0]=10, ++*p->y=11。 (3)*++p->y中同理所以 p->y=&date[0], ++p->y=&date[1], *++p->y=date[1]=20. */ #include"stdio.h" void main() { struct stuinf { char name[15];

《程序设计基础(C)》课程教学大纲

《程序设计基础(C)》课程教学大纲 英文名称:Fundamentals of Programing in C Language 一、课程说明 1. 课程的性质:本课程是全校部分工科专业公共基础课程。 2.课程的目的和任务 本课程以C语言为学生入学的第一门程序设计语言,使学生初步了解程序设计的基本概念和方法,并通过课程教学和上机实践要求学生逐步掌握高级语言程序设计的方法和技巧,能运用所学的知识开发DOS界面下的应用软件,为后续课程的学习打下基础。 3.适应专业:全校部分工科专业 4.学时与学分:总学时72(理论课44/实验课28),3学分。 5.先修课程:计算机文化基础。 6.推荐教材或参考书目:C程序设计教程,谭浩强,清华大学出版社,2007年7月。 7.主要教学方法与手段 本课程采用课堂教学与实验教学相结合的方法,所有的课堂教学要求在多媒体教室进行。 8.考核方式:考试和平时考核相结合,考试成绩不低于70%,平时考核不高于30%。采用100分制。 9.课外自学要求 随着电脑的普及,大学生计算机应用能力差异很大,而由于本课程是实践性很强的课程,所以要求学生除教学计划安排的28学时实习外,应该自己根据情况安排课外实习时间。 二、教学基本要求和能力培养要求 1.通过本课程的学习,学生应达到以下要求: (1)了解C语言的特点、C程序的组成,掌握C程序上机步骤; (2)了解算法的概念和算法的表示方法,掌握算法的流程图表示,了解结构化程序设计的方法。 (3)正确理解C语言的数据类型,掌握各种运算符的用法,熟练掌握C语言表达式的书写。 (4)了解C语句的概念,掌握数据输入输出的实现方法及顺序结构程序设计。 (5)熟练掌握关系运算符和关系表达式、逻辑运算符和逻辑表达式使用,熟练掌握选择结构编程。 (6)熟练掌握循环结构程序设计编程方法。 (7)熟练掌握数组的概念及与数组有关的算法。 (8)掌握函数的书写和调用方法,正确理解变量作用域,了解变量存储类别。

《C语言程序设计基础》教材参考答案-20140211要点

《C语言程序设计基础》教材 参考答案 包括各单元: 一.随堂练习 二.单元总结 三.单元练习 四.实训指导

单元一程序设计宏观认识 一.随堂练习 【随堂练习1-1】 1.根据上述示例模仿编程,输入正方形的边长,计算其面积。 #include void main( ) { int a,s; //数据准备,边长a,面积s printf("请输入正方形的边长:"); scanf("%d",&a); //数据输入 s=a*a; //数据计算 printf("该正方形的面积为:%d.\n",s); } 【随堂练习1-2】 1.下面哪些标识符属于合法的用户自定义标识符: Main、void、_num、my$、a*、N4、3m、a-2 答:合法的用户自定义标识符是:Main、_num、N4 2.结合【例1.2】指出程序代码中所用到的标识符哪些是关键字,哪些是预定义标识符,哪些是用户自定义标识符。 答:关键字:void、int 预定义标识符:include、main、printf、scanf 用户自定义标识符:a、b、c 3.分析【例1.2】中函数的结构,包括函数首部(函数返回值类型、函数名、形式参数)、函数体语句(说明语句、可执行语句)。 答:函数首部:void main( ),其中函数返回值类型为void、函数名为main、形式参数无; 函数体语句:{}内的语句为函数体,其中:说明语句为int a,b,c;,其余为可执行语句。 【随堂练习1-3】 1.在VC++6.0环境中完成【例1.2】程序开发过程。 (略) 2.查阅【例1.2】所对应的工程文件夹,了解相关文件的含义。

程序设计基础-C语言程序大全

四、编写程序题及参考答案 【4.41】从键盘输入十个整数,用插入法对输入的数据按照从小到大的顺序进行排序,将排序后的结果输出。 【4.42】输入一个正整数,要求以相反的顺序输出该数。例如输入12345,输出位54321。 【4.43】编写程序,读入一个整数N;若N为非负数,则计算N到2×N之间的整数和;若N为一个负数,则求2×N到N之间的整数和。分别利用for和while写出两个程序。 【4.44】求解爱因斯坦数学题。有一条长阶梯,若每步跨2阶,则最后剩余1阶,若每步跨3阶,则最后剩2阶,若每步跨5阶,则最后剩4阶,若每步跨6阶则最后剩5阶,若每步跨7阶,最后才正好一阶不剩。请问,这条阶梯共有多少阶? 【4.45】一个自然数被8除余1,所得的商被8除也余1,再将第二次的商被8除后余7,最后得到一个商为a。又知这个自然数被17除余4,?所得的商被17除余15,最后得到一个商是a的2倍。编写程序求这个自然数。 【4.46】编写程序,用二分法求一元二次方程2x3-4x2+3x-6=0在(10,10)区间的根。 【4.47】中国古代科学家祖冲之采用正多边形逼近的割圆法求出了π的值。请编写一程序,采用 割圆法求出π的值,要求精确到小数点之后的第十位。 【4.48】A、B、C、D、E五人在某天夜里合伙去捕鱼,到第二天凌晨时都疲惫不堪,于是各自找地 方睡觉。日上三竿,A第一个醒来,他将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。B 第二个醒来,也将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。C、D、E依次醒来,也按 同样的方法拿鱼。编写程序求出他们合伙至少捕了多少条鱼。 【4.49】一辆卡车违犯交通规则,撞人逃跑。现场三人目击事件,但都没记住车号,只记下车号 的一些特征。甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的;丙是位数 学家,他说:四位的车号刚好是一个整数的平方。请根据以上线索求出车号。 【4.50】若一个口袋中放有12个球,其中有3个红的,3个白的和6个黑的,每次从中任取8个 球,编写程序求出共有多少种不同的颜色搭配。 【4.51】100匹马驮100担货,大马一匹驮3担,中马一匹驮2担,小马两匹驮1担。试编写程序 计算大、中、小马的数目。 【4.52】编写程序,输出用一元人民币兑换成1分、2分和5分硬币的不同兑换方法。 【4.53】显示200以内的完全平方数和它们的个数。(完全平方数:A2+B2=C2,求A、B、C) 【4.54】设N是一个四位数,它的9倍恰好是其反序数(例如:123的反序数是321),求N的值。 【4.55】将一个数的数码倒过来所得到的新数叫原数的反序数。如果一个数等于它的反序数,则 称它为对称数。求不超过1993的最大的二进制的对称数。 【4.56】编写程序求解下式中各字母所代表的数字。 PEAR -ARA ─────── PEA 【4.57】一个自然数的七进制表达式是一个三位数,而这个自然数的九进制表示也是一个三位数, 且这两个三位数的数码顺序正好相反,求这个三位数。 【4.58】请验证2000以内的哥德巴赫猜想,对于任何大于4的偶数均可以分解为两个素数之和。 【4.59】如果一个正整数等于其各个数字的立方和,则称该数为阿姆斯特朗数(亦称为自恋性数)。 如407=43+03+73就是一个阿姆斯特朗数。编写程序求1000以内的所有阿姆斯特朗数。

C程序设计基础复习题A

《C++程序设计基础》复习题A 一、填空题 1.算法的基本控制结构包括:,,。 2.在C++中有三种参数传递方式:__________、__________和__________。 3.下面是一个输入半径,输出其面积和周长的C++程序,在下划线处填上正确的语句。 #include using namespace std; ______________pi=; void main( ) { double r; cout<<″r=″; _________________ ; double l=*pi*r; double s=pi*r*r; cout<<″\n The long is:″<

中具有________权限的成员只有类中的成员函数才能访问、而具有________权限的成员在任何函数中都可访问。 6.构造函数是一个特殊的成员函数,其特殊性表现在创建对象时会__________。构造函数名必须与__________相同。 7.函数重载是指一组函数具有相同的_________,在函数调用时,编译程序根据________的个数和类型确定使用那一个版本。 二、选择题 1.C++源程序文件的默认扩展名为()。 A. cpp B. exe C. obj D. lik 2.设有数组定义:char array[]="China";则数组array所占的空间为( )。 A.4个字节 B.5个字节 C.6个字节 D.7个字节 3.下列选项中,与实现运行时多态性无关的是( )。 A.重载函数 B.虚函数 C.指针 D.引用 4.若a是int类型变量,则计算表达式a=1000%999的值是( )。 A.0 B. 1 C. 2 D. 3 5.下面程序段中,for循环的执行次数是( )。 int i=10; for(i=1;i<10;i++) cout <<"*";

程序设计基础教程(c语言版)课后答案

z 习题解答

目录 1.2 习题解答 (3) 1.2.1 选择题 (3) 1.2.2 填空题 (3) 1.2.3 编程题 (4) 2.2 习题解答 (5) 2.2.1 选择题 (5) 2.2.2 填空题 (7) 2.2.3 编程题 (8) 3.2 习题解答 (11) 3.2.1 选择题 (11) 3.2.2 填空题 (12) 3.2.3 编程题 (12) 4.2 习题解答 (15) 4.2.1 选择题 (15) 4.2.2 填空题 (17) 4.2.3 编程题 (18) 5.2 习题解答 (29) 5.2.1 选择题 (29) 5.2.2 填空题 (31) 5.2.3 编程题 (33) 6.2 习题解答 (37) 6.2.1 选择题 (37) 6.2.2 填空题 (41) 6.2.3 编程题 (43) 7.2 习题解答 (67) 7.2.1 选择题 (67) 7.2.2 填空题 (68) 7.2.3 编程题 (68) 2

1.2 习题解答 1.2.1 选择题 1、B 【分析】在一个C程序中必须有且只能有一个main函数,而且main函数可以在任何地方出现. 2、C 【分析】C 语言中合法以的标识符组成为:字母,数字,下划线,且数字不能打头,亦不能为关键字。A中,-sub 不合法。B 中4d不合法。D 中void 为关键字。 3、 【分析】 4、C 【分析】转义字符中,第一个\”输出“,第二\\输出\,第三个\b退格,把前一个\去掉了,第四个\?输出?,第五个\t跳格,第六个\”输出”,第七个\n输出换行。 5、C 【分析】本题将10进制17,分别按8、16进制输出。8的进制21=2*8+1*1=17(10, 16制11=1*16+1*1=17(10) 1.2.2 填空题 1、主 【分析】一个C源程序中至少包括一个主函数,其他函数没有限制。 2、双引号。 【分析】两种写法都是允许的,使用尖括号表示在包含文件目录中去查找(包含目录是由用户在设置环境时设置的),而不在源文件目录去查找.使用双引号则表示首先在当前的源文件目录中查找,若未找到才到包含目录中去查找。用户编程时可根据自己文件所在的目录来选择某一种命令形式。 3、261,b1 【分析】将10进制的177,按8进制和16进制两种形式输出。 4、a=3 b=7 x=8.5 y=71.82 c1=A c2=a 【分析】scanf函数中,格式说明符以外的原样输入。 5、printf函数中,格式说明符以外的原样输出。%m.nf控制输出结果中共m位,小数

C语言程序设计基础教程_习题答案

习题答案 第1章 1.1 填空题 1.1.1 应用程序ONEFUNC.C中只有一个函数,这个函数的名称是__main 。 1.1.2 一个函数由__函数头__和__函数体__两部分组成。 1.1.3 在C语言中,输入操作是由库函数__scanf 完成的,输出操作是由库函数_printf_完 成的。 1.1.4 通过文字编辑建立的源程序文件的扩展名是_.c__;编译后生成目标程序文件,扩展名是__.obj__;连接后生成可执行程序文件,扩展名是_.exe_;运行得到结果。 1.1.5 C语言程序的基本单位或者模块是__函数__。 1.1.6 C语言程序的语句结束符是_;___。 1.1.7 编写一个C程序,上机运行要经过的步骤:______________________________。 1.1.8 在一个C语言源程序中,注释部分两侧的分界符分别为_/*__和__*/__。 1.1.9 C语言中的标识符只能由三种字符组成,它们是字母、数字和下划线。 且第一个字符必须为字母或下划线。 1.1.10 C语言中的标识符可分为关键字、预定义标识符和用户标识符3类。 1.2 选择题 1.2.1 一个C程序的执行是从( A )。 A)本程序的main函数开始,到main函数结束 B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C)本程序的main函数开始,到本程序文件的最后一个函数结束 D)本程序文件的第一个函数开始,到本程序main函数结束 1.2.2 以下叙述不正确的是(C)。 A)一个C源程序可由一个或多个函数组成 B)一个C源程序必须包含一个main函数 C) 在C程序中,注释说明只能位于一条语句的后面 D) C程序的基本组成单位是函数 1.2.3 C语言规定:在一个源程序中,main函数的位置( C )。 A)必须在程序的开头B)必须在系统调用的库函数的后面 C)可以在程序的任意位置D)必须在程序的最后 1.2.4 C编译程序是(A)。 A)将C源程序编译成目标程序的程序 B)一组机器语言指令 C) 将C源程序编译成应用软件 D) C程序的机器语言版本 1.2.5 要把高级语言编写的源程序转换为目标程序,需要使用(D)。 A) 编辑程序B) 驱动程序C) 诊断程序D) 编译程序 1.2.6 以下叙述中正确的是(C)。

C程序设计基础课程教学大纲

《C程序设计基础》课程教学大纲 英文名称: Fun dame ntals of Programmi ng in C 课程编号: 适用专业:非信息类各专科专业 总学时数:64 学分:3 一、课程的性质、目的和任务 《C程序设计基础》是学院非信息类专科各专业学生的专业选修课。 课程主要是为学生学习并掌握自己的第一门高级语言而开设的。通过一学期的学习(课堂教学和上机编程实践),学生能够掌握C语言的基本语法知识以及程序设计的三种基本控制结构,掌握C语言的基于函数的代码组织方法,掌握数组的使用方法并了解指针的一般用法,掌握文件读写的基本方法。 本课程的学习可以让学生了解程序设计,为进一步学习其他高级程序设计语言打下基础,也为今后从事基于专业的应用开发做一个知识准备。同时本课程教学内容基本符合浙江省高等学校计算机等级考试 C语言考试大纲,该课程的教学将有助于学生通过省高校计算机等级二级考试。 二、教学内容及要求 第一章C语言概述 1、教学内容 C语言程序及其程序结构,C语言字符集、标识符与关键字,C语言程序的实现 2、重点、难点 重点:C语言结构特点,C语言标识符与关键字的识别,熟悉 Turbo C开发环境 难点:C语言程序结构 3、教学基本要求 (1)了解C语言出现的历史背景 (2)了解C语言的特点 (3)掌握C语言程序结构和及书写规则 (4)掌握利用 Turbo C 开发环境的基本上机步骤第二章数据类型运算符与表达式

1、教学内容 C语言的数据类型,常量和变量,整型数据,实型数据,字符型数据,C语言 运算符和表达式,位运算和位运表达式,自增(减)运算符和表达式,逗号运算符逗号表达式,类型转换 2、重点、难点 重点:常量类型及变量的定义和初始化,C语言基本数据类型,C语言运算符的优先级和结合性,C语言表达式及其求值规则 难点:变量的定义及数据在内存中的存放,C语言运算符与表达式运算规则,自增自减、复合赋值运算符的使用,类型转换 3、教学基本要求 (1)了解变量和常量的表示 (2)了解C语言数据类型、运算符与表达式 (3)了解C语言基本数据类型的定义 (4)掌握不同类型常量的书写和识别 (5)掌握变量的定义和初始化 (6)掌握运算符的优先级和结合性 (7)掌握各种表达式的书写和求值 (8)掌握类型转换的默认规则第三章 C 程序结构及顺序结构程序设计 1、教学内容 C 语言基本语句,程序三种基本结构,数据的输入和输出,顺序结构程序设计实例 2、重点、难点 重点:C程序的三种基本结构及其流程图,N-S结构图描述,数据的输入输出格式符 难点: C 程序的三种基本结构及执行过程,数据的输入输出格式 3、教学基本要求 ( 1)了解 C 语句种类及结构 ( 2)了解 C 程序的三种基本结构 ( 3)了解数据的输入输出格式符 ( 4)掌握常用的数据输入输出格式 ( 5)掌握顺序结构程序设计的基本方法 第四章选择结构程序 1、教学内容 if 语句及其使用,条件运算符和条件表达式, swich 语句,选择结构程序设计实例 2、重点、难点 重点:三种不同形式的 if 语句, if 语句的嵌套形式, switch 结构的用法,条件运算符及条件格式

C语言 程序设计基础试题一及答案

《程序设计基础》考试试卷一 班级姓名学号____________ 一、选择题(20分) 1.算法具有五个特性,以下选项中不属于算法特性的是 (A)有穷性(B)简洁性(C)可行性(D)确定性 2.以下选项中可作为C语言合法常量的是 (A)-80. (B)-080 (C)-8e1.0 (D)-80.0e 3.以下叙述中正确的是 (A)用C语言实现的算法必须要有输入和输出操作 (B)用C语言实现的算法可以没有输出但必须要有输入 (C)用C程序实现的算法可以没有输入但必须要有输出 (D)用C程序实现的算法可以既没有输入也没有输出 4.以下不能定义为用户标识符是 (A)Main (B) _0 (C) _int (D) sizeof 5.以下选项中,不能作为合法常量的是 (A)1.234e04 (B)1.234e0.4 (C)1.234e+4 (D)1.234e0 6.数字字符0的ASCII值为48,若有以下程序 main() {char a='1',b='2'; printf("%c,",b++); printf("%d\n",b-a);} 程序运行后的输出结果是 (A)3,2 (B)50,2 (C)2,2 (D)2,50

7.有以下程序 main(){ int m=12,n=34; printf("%d%d",m++,++n); printf("%d%d\n",n++,++m);}程序运行后的输出结果是 (A)12353514 (B)12353513 (C)12343514 (D)12343513 8.有以下语句:int b;char c[10];,则正确的输入语句是 A)scanf("%d%s",&b,&c); B) scanf("%d%s",&b,c); (C)scanf("%d%s",b,c); D)scanf("%d%s",b,&c); 9.有以下程序 main(){ int m,n,p; scanf("m=%dn=%dp=%d",&m,&n,&p); printf("%d%d%d\n",m,n,p); } 若想从键盘上输入数据,使变量M中的值为123,N中的值为456,P中的值为789,则正确的输入是 A)m=123n=456p=789 B)m=123 n=456 p=789 C)m=123,n=456,p=789 D)123 456 789 10.有以下程序 main(){ int a,b,d=25; a=d/10%9;b=a&&(-1); printf("%d,%d\n",a,b); } 程序运行后的输出结果是 A)6,1 B)2,1 C)6,0 D)2,0 11.有以下程序 main(){ int i=1,j=2,k=3; if(i++==1&&(++j==3||k++==3))

《C程序设计基础》试题

学号: 姓名: 班级: 系别: 长沙师范学校电子信息工程系 - 学年度学期 《C语言程序设计》试题(5) 用于计算机应用技术专业班级 考试形式闭卷时量100分钟满分100分得分 命题宋碧慧审题阅卷成绩复核 阅卷人 得分 一、选择题(每题3分,共30分,答案填写在以下表格中) 题号 1 2 3 4 5

6 7 8 9 10 答案 1. 一个C语言程序是由( )。 A. 一个主程序和若干子程序组成 B. 若干函数组成 C. 若干过程组成 D. 若干子程序组成 2. 已知:char *s="Name\Address";则s所指的字符串的长度为( ). A. 18 B. 16 C. 13 D. 14 3. 若有条件表达林(exp)?a++:b--,则以下表达式中能完全等价于表达式(exp) 的是( )。 A. (exp==0) B. (exp!=0) C. exp==1 D. (exp!=1) 4. C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是( )。 A. 地址传递 B. 单向值传递 C.双向值传递。即由实参传给形参,再由形参传回给实参 D.由用户指定传递方式 5. 以下正确的函数形式是( )。 A. double fun1(int x,int y) { z=x+y;

return z; } B. fun1(int x, y) { int z; return z; } C. fun1(x,y) { int x,y; double z; z=x+y; return z; } D. double fun1(int x, int y) { double z; z=x+y; return z; } 6. C语言允许函数值类型缺省定义,此时该函数值隐含的类型是( )。 A. float型 B. int型 C. long型 D. double型 7. 以下程序有语法性错误,有关错误原因的正确说法是( )。 void main( ) { int k; void prt_char(); k=prt_char(G); } A. 语句void prt_char();有错,它是函数调用语句,不能用void说明。 B. 变量名不能使用大写字母。 C. 函数原型说明和函数调用语句之间有矛盾。 D. 函数名不能使用下划线。 8. 若有如下定义,则下面在scanf函数调用语句中对结构体成员的引用不正确是( )。struct pupil { char name[20]; int age; int sex; }pup[5],*p; A. scanf("%d",p->age); B. scanf("%s",pup[0].name); C. scanf("%d",&pup[0].age); D. scanf("%d",&(pup[1].sex));

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