文档库 最新最全的文档下载
当前位置:文档库 › C语言习题题库(作答完整)

C语言习题题库(作答完整)

C语言习题题库(作答完整)
C语言习题题库(作答完整)

程序填空共2题

第1题

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

功能:编程求某年第n天的日期。用数组表示月天数。

-------------------------------------------------------*/

#include

#include

main()

{

int y,m,f,n;

int a[12]={31,28,31,30,31,30,31,31,30,31,30,31};

printf("y,n=");

scanf("%d,%d",&y,&n);

/***********SPACE***********/

f=y%4==0&&y%100!=0【||】y%400==0;

/***********SPACE***********/

a[1]【+=】f;

if(n<1||n>365+f)

{

printf("error!\n");exit(0);

}

/***********SPACE***********/

for(m=1;m【>】a[m-1];n-=a[m-1],m++);

printf("y=%d,m=%d,d=%d\n",y,m,n);

}

第2题

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

题目:下列程序从键盘输入所需数据,求出z的值并输出,要求输出结果保留2位小数。

-------------------------------------------------------*/

#include

/***********SPACE***********/

【#include

main()

{ int x;

double y,z;

/***********SPACE***********/

scanf("【%d%lf】",&x,&y);

z=2*x*sqrt(y);

/***********SPACE***********/

printf("z=【%lf】",z);

}

程序改错共1题

第1题

/*------------------------------------------------------ 【程序改错】

--------------------------------------------------------

功能:将s所指字符串中的字母转换为按字母序列的后续字母(但

Z转换为A, z转换为a),其它字符不变。

------------------------------------------------------*/

#include

#include

#include

void fun (char *s) //函数定义

{

/***********FOUND***********/

while(*s!=’0’) //字符串结尾标志为‘0’

{

if(*s>='A' && *s <= 'Z' || *s >= 'a' && *s<='z')

{

if(*s=='Z')

*s='A';

else if(*s=='z')

*s='a';

else

/***********FOUND***********/

*s += 1; //s为字符指针,而*s为指针所指的字符

}

/***********FOUND***********/

s++

}

}

main()

{

char s[80];

printf("\n Enter a string with length < 80. :\n\n "); gets(s);

printf("\n The string : \n\n ");

puts(s);

fun ( s ); //函数调用

printf ("\n\n The Cords :\n\n ");

puts(s);

}

程序填空共2题

第1题

/*------------------------------------------------------- 【程序填空】

---------------------------------------------------------

功能:计算圆周率的近似值。

-------------------------------------------------------*/

#include

#include

main()

{

int s,n;

/***********SPACE***********/

double 【pi】,t;

t=1;pi=0;n=1;s=1;

/***********SPACE***********/

while(【fabs(t)】>=2e-6) //fabs()为求绝对值函数

{

pi+=t;n+=2;s=-s;t=s/n;

}

/***********SPACE***********/

pi*=【4】;

printf("pi=%.6f\n",pi);

}

第2题

/*------------------------------------------------------- 【程序填空】

---------------------------------------------------------

功能:输入一奇数n,打印由1->n*n构成的魔方矩阵。魔方矩阵的行列及对角线的和都相等。

魔方矩阵:8 1 6

3 5 7

4 9 2

-------------------------------------------------------*/

#include

#include

#define MAXSiZE 20

void main(void)

{

int matrix[MAXSiZE][MAXSiZE];

int count;

int row;

int column;

int n;

char line[100];

printf("\nOdd n Magic Square Generator");

printf("\n================================");

printf("\n\nn Please -->");

gets(line);

n = atoi(line);

if (n > MAXSiZE)

printf("\n*** ERROR *** n should be <= %d", MAXSiZE);

else if (n % 2 == 0)

printf("\n*** ERROR *** n must be an odd integer");

else

{

row = 0;

column = n/2;

for (count = 1; count <= n*n; count++)

{

matrix[row][column] = count;

/***********SPACE***********/

if (【count/n】 == 0) row++;

else

{

/***********SPACE***********/

row= (row == 【0】) ? n - 1 : row - 1;

/***********SPACE***********/

column = (column == 【n-1】) ? 0 : column + 1;

}

}

printf("\n\nMagic Square of n %d :\n\n", n);

for (row = 0; row < n; row++)

{

for (column = 0; column < n; column++)

printf("%4d", matrix[row][column]);

printf("\n");

}

}

}

程序改错共1题

/*------------------------------------------------------

【程序改错】

--------------------------------------------------------

功能:求1到10的阶乘的和。

------------------------------------------------------*/

#include

float fac(int n);//函数声明

main()

{

int i;

float s=0;

float fac(int n); //函数声明应放在主函数之前,这句放错位置了,删了吧,也可以不改,可以运行,但良好的习惯就是改

/**********FOUND**********/

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

/**********FOUND**********/

s+=fac(i); //函数调用

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

}

float fac(int n) //函数定义

{

/**********FOUND**********/

float y=1; //int改为float,否则会造成数据丢失,当然也可以不改,毕竟你们没学到 int i;

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

y=y*i;

/**********FOUND**********/

return y;

}

程序填空共2题

第1题

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

功能:删除字符串中的指定字符,字符串和要删除的字符均由键盘

输入。

-------------------------------------------------------*/

#include

main()

{

char str[80],ch;

int i,k=0;

/***********SPACE***********/

gets(【str】); //输入字符串放入str[]

ch=getchar();

/***********SPACE***********/

for(i=0;【str[i]】;i++) //循环到字符串结束为止

if(str[i]!=ch) //假如没找到就将原字符赋值过去找到要删除的就跳过继续找

{

/***********SPACE***********/

【str[k]=str[i]】; //在同一个数组中操作,后面的字符覆盖了前面要删除的位置

k++;

}

/***********SPACE***********/

【str[k]=’\0’】; //在新字符串结尾处加结束符

puts(str); //输出

}

第2题

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

功能:输入一个整数,计算它可能是哪两个整数的平方和,并打印

结果数据。

如:34是5和3或3和5的平方和。

-------------------------------------------------------*/

#include /* for i/O functions */

#include /* for atoi() */

#include /* for sqrt() */

void main(void)

{

int given; /* the given number */

int row, column; /* row and column indicators*/

int count; /* number of solutions */

char line[100];

printf("\nRepresenting a Given Number as the Sum of Two Squares"); printf("\n=====================================================\n"); printf("\nAn integer Please --->");

gets(line);

given = atoi(line);

printf("\nCount X Y");

printf("\n----- ----- -----");

row = 1; /* starts from far enough */

column = (int) (sqrt((double) given) + 0.5);

count = 0; /* so solution yet */

while (row <= given && column > 0) /* scan down... */

if (row*row + column*column == given)

{

/***********SPACE***********/

【count++】;

printf("\n%5d%7d%7d", count, row, column);

row++;

column--;

}

else if (row*row + column*column > given)

/***********SPACE***********/

【column--】;

else

/***********SPACE***********/

【row++】;

if (count == 0)

printf("\n\nSorry, NO ANSWER found.");

else

printf("\n\nThere are %d possible answers.",count);

}

程序改错共1题

第1题

/*------------------------------------------------------

【程序改错】

--------------------------------------------------------

功能:计算并输出k以内最大的10个能被13或17整除的自然数之和。 k的值由主函数传入。

例如:若k的值为500,则函数值为4622。

------------------------------------------------------*/

#include

int fun(int k)

{

int m=0,mc=0;

/**********FOUND**********/

while ((k>=2)&&(mc<10))

{

/**********FOUND**********/

if((k%13==0)||(k%17==0))

{

m=m+k;

mc++;

}

/**********FOUND**********/

k--;

}

/**********FOUND**********/

return m;

}

void main()

{

printf("%d\n",fun(500));

}

程序填空共2题

第1题

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

功能:当输入“2,5”的时候输出为“2 5 5”

-------------------------------------------------------*/

#include

#define max 100

main()

{

int f[max],i,j,k,m;

scanf("%d,%d",&k,&m);

/***********SPACE***********/

for(i=0;i<=【2】;i++)

f[i]=0;

/***********SPACE***********/

f[【k-1】]=1;

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

/***********SPACE***********/

for(j=i-k;j<=i-1;j++)

f[i]【=1+】f[j];

printf("%d%10d%10d\n",k,m,f[m]);

}

第2题

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

功能:识别输入的字符串,每个单词输出一行

-------------------------------------------------------*/

#include

#include

void main()

{

int c;

int inspace;

/***********SPACE***********/

【inspace=0】;

while((c = getchar()) != '\n')

{

if(c == ' ' || c == '\t' || c == '\n')

{

/***********SPACE***********/

if(【inspace=0】) {

inspace = 1;

putchar('\n');

}

}

else

{

inspace = 0;

/***********SPACE***********/

【putchar(c)】; }

}

}

程序改错共1题

第1题

/*------------------------------------------------------ 【程序改错】

--------------------------------------------------------

功能:用选择法对数组中的n个元素按从小到大的顺序进行排序。

------------------------------------------------------*/

#include

#define N 20

void fun(int a[], int n)

{

int i, j, t, p;

for (j = 0 ;j < n-1 ;j++)

{

/**********FOUND**********/

p = j;

for (i = j;i < n; i++)

/**********FOUND**********/

if(a[i] >a[p])

/**********FOUND**********/

p=i;

t = a[p] ;

a[p] = a[j] ;

a[j] = t;

}

}

main()

{

int a[N]={9,6,8,3,-1},i, m = 5;

printf("排序前的数据:") ;

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

printf("%d ",a[i]);

printf("\n");

fun(a,m);

printf("排序后的数据:") ;

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

printf("%d ",a[i]);

printf("\n");

}

程序填空共2题

第1题

/*------------------------------------------------------- 【程序填空】

---------------------------------------------------------

功能:产生10个[30,90]区间上的随机整数,然后对其用选择法进行由小到大的排序。

-------------------------------------------------------*/ #include

#include

main()

{

/***********SPACE***********/

int t;

int i,j,k;

int a[10];

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

a[i]=rand()%61+30;

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

{

/***********SPACE***********/

k=i;

for(j=i+1;j<10;j++)

/***********SPACE***********/

if(a[k]>a[j]) k=j;

if(k!=i)

{

t=a[k];

a[k]=a[i];

a[i]=t;

}

}

/***********SPACE***********/

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

printf("%5d",a[i]);

printf("\n");

}

第2题

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

功能:输入一正整数n、打印1-n能够组成的所有自然数集合(包含空集)。

-------------------------------------------------------*/

#include

#include

#define MAXSiZE 20

#define LOOP 1

void main(void)

{

int set[MAXSiZE];

int n, i;

int position;

char line[100];

printf("\nAll Possible Subsets Generation by Lexical Order"); printf("\n================================================"); printf("\n\nNumber of Elements in the Set -->");

gets(line);

n = atoi(line);

printf("\n{}");

position = 0;

set[position] = 1;

while (LOOP)

{

/***********SPACE***********/

printf("\n{%d", 【?】);

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

printf(",%d", set[i]);

printf("}");

if (set[position] < n)

{

/***********SPACE***********/

set[【?】] = set[position] + 1;

position++;

}

else if (position != 0)

set[--position]++;

else

/***********SPACE***********/

【?】;

}

}

程序改错

第1题

/*------------------------------------------------------ 【程序改错】

--------------------------------------------------------

功能:求出以下分数序列的前n项之和。和值通过函数值返回main 函数。

2/1+3/2+5/3+8/5+13/8+21/13 ……

例如:若n = 5,则应输出:8.391667。

------------------------------------------------------*/

#include

#include

/**********FOUND**********/

fun ( int n )

{

int a, b, c, k; double s;

s = 0.0; a = 2; b = 1;

for ( k = 1; k <= n; k++ )

{

/**********FOUND**********/

s = (double)a / b;

c = a;

a = a + b;

b = c;

}

/**********FOUND**********/

return c;

}

main( )

{

int n = 5;

printf( "\nThe value of function is: %lf\n", fun ( n ) ); }

程序填空共2题

第1题

/*------------------------------------------------------- 【程序填空】

---------------------------------------------------------

功能:输出结果为:

* * * * *

* * * * *

* * * * *

* * * * *

-------------------------------------------------------*/ #include

main()

{

/***********SPACE***********/

static char 【?】={'*','*','*','*','*'};

int i,j,k;

char space=' ';

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

{

printf("\n");

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

/***********SPACE***********/

printf("%1c",【?】);

/***********SPACE***********/

for(k=0;k<【?】;k++)

printf("%3c",a[k]);

}

printf("\n");;

}

第2题

/*------------------------------------------------------- 【程序填空】

---------------------------------------------------------

功能:给出一个正整数,找到一组连续的数,使之累加和等于给定的正整数。输出存在多少组这样连续的数,及每组的左

右边界。

例如:15=1+2+3+4+5

15=4+5+6

15=7+8

所以结果有3组值分别是1->5, 4->6, 7->8

-------------------------------------------------------*/

#include

#include

void main(void)

{

long left, right;

long sum;

long GiVEN;

int count = 0;

char line[100];

printf("\nConsecutive sum to a fixed given number");

printf("\n=======================================\n");

printf("\nYour number (> 0) please --->");

gets(line);

GiVEN = atol(line);

for (sum = 0, right = 1; sum < GiVEN; sum += right, right++) ;

for (left = 1, right--; left <= GiVEN/2; )

if (sum > GiVEN)

{

sum -= left;

/***********SPACE***********/

【?】;

}

else

{

if (sum == GiVEN)

{

printf("\n%ld = sum from %ld to %ld",

GiVEN, left, right);

/***********SPACE***********/

【?】;

}

/***********SPACE***********/

【?】;

sum += right;

if (count > 0)

printf("\n\nThere are %d solutions in total.", count); else

printf("\n\nSorry, there is NO solution at all.");

}

程序改错

第1题

/*------------------------------------------------------ 【程序改错】

--------------------------------------------------------

功能:编写函数fun计算下列分段函数的值:

x*20 x<0且x≠-3

f(x)= sin(x) 0≤x<10且x≠2及x≠3

x*x+x-1 其它

------------------------------------------------------*/

#include

#include

double fun(double x)

{

/**********FOUND**********/

double y

/**********FOUND**********/

if (x<0 || x!=-3.0)

y=x*20;

else if(x>=0 && x<10.0 && x!=2.0 && x!=3.0)

y=sin(x);

else

y=x*x+x-1;

/**********FOUND**********/

return x;

}

main()

{

double x,f;

printf("input x=");

scanf("%f",&x);

f=fun(x);

printf("x=%f,f(x)=%f\n",x,f);

程序填空共2题

第1题

/*------------------------------------------------------ 【程序填空】

---------------------------------------------------------

功能:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数

-------------------------------------------------------*/ #include

/***********SPACE***********/

move(【?】)

int n,m,array[20];

{

int *p,array_end;

/***********SPACE***********/

array_end=*(【?】);

for(p=array+n-1;p>array;p--)

/***********SPACE***********/

*p=*(【?】);

*array=array_end;

m--;

if(m>0) move(array,n,m);

}

main()

{

int number[20],n,m,i;

printf("the total numbers is:");

scanf("%d",&n);

printf("back m:");

scanf("%d",&m);

for(i=0;i

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

scanf("%d",&number[n-1]);

/***********SPACE***********/

move(【?】);

for(i=0;i

printf("%d,",number[i]);

printf("%d",number[n-1]);

}

第2题

/*------------------------------------------------------- 【程序填空】

--------------------------------------------------------- 功能:打印出如下图案(菱形)

*

***

*****

*******

*****

***

*

-------------------------------------------------------*/

#include

main()

{

int i,j,k;

/***********SPACE***********/

for(i=0;【?】;i++)

{

for(j=0;j<=4-i;j++)

printf("");

/***********SPACE***********/

for(k=1;k<=【?】;k++)

printf("*");

printf("\n");

}

/***********SPACE***********/

for(【?】;j<3;j++)

{

for(k=0;k

printf("");

for(k=0;k<5-2*j;k++)

printf("*");

printf("\n");

}

}程序改错共1题

第1题

/*------------------------------------------------------ 【程序改错】

--------------------------------------------------------

功能:求1到20的阶乘的和。

------------------------------------------------------*/

#include

fun()

{

int n,j;

float s=0.0,t=1.0;

for(n=1;n<=20;n++)

{

/**********FOUND**********/

s=1;

for(j=1;j<=n;j++)

/**********FOUND**********/

t=t*n;

/**********FOUND**********/

s+t=s;

}

/**********FOUND**********/

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

}

main()

{

fun();

}

程序填空共2题

第1题

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

功能:利用全局变量计算长方体的体积及三个面的面积。

-------------------------------------------------------*/

#include

int s1,s2,s3;

int vs(int a,int b,int c)

{

int v;

/***********SPACE***********/

v=【?】;

s1=a*b;

/***********SPACE***********/

s2=【?】;

s3=a*c;

return v;

}

main()

{

int v,l,w,h;

printf("\ninput length,width and height: ");

/***********SPACE***********/

scanf("%d%d%d",【?】,&w,&h);

/***********SPACE***********/

v=【?】;

printf("v=%d s1=%d s2=%d s3=%d\n",v,s1,s2,s3); }

第2题

/*------------------------------------------------------- 【程序填空】

---------------------------------------------------------

功能:建立一个如下的二维数组,并按以下格式输出。

1 0 0 0 1

0 1 0 1 0

0 0 1 0 0

0 1 0 1 0

1 0 0 0 1

-------------------------------------------------------*/

#include

void main()

{

int a[5][5]={0},*p[5],i,j;

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

/***********SPACE***********/

C语言题库及答案

C语言题库及答案

姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题吧。加油! 一单项选择题 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串 选项B,C,分别用{}和’’标识字符串 选项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 6.下列C语言用户标识符中合法的是( B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是( C )。 A) %x B) a+b C) a123 D) 123 8、下列四组字符串中都可以用作C语言程序中的标识符的是( A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。

2019年电大C语言考试题库(c语言小题+编程)

C语言程序设计课程期末复习练习 一、单选题 1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为( )。 A. main B. MAIN C. name D. function 2.每个C语言程序文件的编译错误分为()类。 A. 1 B. 2 C. 3 D. 4 3. 字符串"a+b=12\n"的长度为()。 A. 6 B. 7 C. 8 D. 9 4. 在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写为()语句。 A. for B. if C. do D. while 5. 在下面的do-while循环语句中,其循环体语句被执行的次数为()。 int i=0; do i++; while(i<10); A. 4 B. 3 C. 5 D. 10 6. 将两个字符串连接起来组成一个字符串时,选用的函数为()。 A. strlen() B. strcap() C. strcat() D. strcmp() 7. 若用数组名作为函数调用的实参,传递给形参的是()。 A. 数组的首地址 B. 数组中第一个元素的值 C. 数组中全部元素的值 D. 数组元素的个数 8. 假定a为一个整数类型的数组名,整数类型的长度为4,则元素a[4]的地址比a数组的首地址大( )个字节。 A. 4 B. 8 C. 16 D. 32 9. 假定s被定义为指针类型char *的变量,初始指向的字符串为"Hello world!",若要使变量p指向s所指向的字符串,则p应定义为()。 A. char *p=s; B. char *p=&s; C. char *p;p=*s; D. char *p; p=&s; 10. 从一个数据文件中读入以换行符结束的一行字符串的函数为()。 A. gets() B. fgets() C. getc() D. fgetc() 11. 由C语言目标文件连接而成的可执行文件的缺省扩展名为( )。 A. cpp B. exe C. obj D. c 12. 设有两条语句为“int a=12; a+=a*a;”,则执行结束后,a的值为( )。 A. 12 B. 144 C. 156 D. 288 13. 带有随机函数调用的表达式rand()%20的值在( )区间内。 A. 1~19 B. 1~20 C. 0~19 D. 0~20 14. for循环语句“for(i=0; i

C语言常见复习题(选择填空)及参考答案

C语言常见复习题及参考答案 一、选择题 1.下述标识符中,()是合法的用户标识符。 A.A#C B.getch C.void D.ab* 2.在C语言中,字符型数据在内存中是以()形式存放的。 A.原码 B.BCD码 C.反码 D.ASCII码 3.以下选项中不合法的用户标识符是()。 A.abc.c B.file C.Main D.PRONTF 4.以下选项中不合法的用户标识符是()。 A.123 B.printf C.Anbsp; D.Dim 5.可以在C语言程序中用做用户标识符的一组标识符是()。 A.void B.as-b3 C.for D.2c define -123 -abc Do WORD If cas SIG 6.在以下各组标识符中,合法的用户标识符是(1)、(2)、(3)。 (1)A.001 B.table_1 C.0_t D.k% Int t*.1 W10 point (2)A.Fast_ B.void C.pbl D. Fast+Big abs fabs beep (3)A.xy_ B.longdouble C.*p D.CHAR 变量1 signed history Float 7.()是构成C语言的基本单位。 A.函数 B.过程 C.子程序 D.子例程 8.若有说明:char s1='\067';char s2="1";char s3='1';则s1中(1),s2中(2),s3中(3)。

(1).A.包含3个字符 B.包含2个字符 C.包含1个字符 D.无定值,说明不合法 (2).A.包含1个字符 B.包含2个字符 C.包含3个字符 D.无定值,说明不合法 (3).A.包含1个字符 B.包含2个字符 C.包含3个字符 D.无定值,说明不合法 9.若x为int型变量,则执行以下语句后,x的值为 x=6; x+=x-=x*x A.36 B.-60 C.60 D.-24 10.在C语言中,char 型数据在内存中是以()形式存储的。 A.原码 B.补码 C.ASCII码 D.反码 11.以下运算符中优先级最低的算符为(),优先级最高的为()。 A.&& B.& C.|= D.|| E.?: F.!= 12.若有运算符>、*=、<<、%、sizeof,则它们按优先级(由低至高)的正确排列顺序为 A.*= << > % sizeof B.<< *= > % sizeof C.*= > << sizeof % D.*= > << % sizeof 13.若有以下类型说明语句 char w; int x; float y; double z; 则表达式w*x+z-y 的结果是()类型。 A.float B.char C.int D.double 14.若w,x,y,z 均为int 型变量,则执行下面的语句后, w=(1), x=(2), y=(3), z=(4)。 w=5; x=4; y=w++*w++*w++; z=--x*=--x*--x;

大学c语言考试题库含答案

================================================== 题号:1482 执行以下程序段后,输出结果和a的值是()。int a=10; printf("%d",a++); A、11 和10 B、11 和11 C、10 和11 D、10 和10 答案: C 题号:2100 已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'.执行语句printf("%d,%d",c1,c2-2);后,输出结果是 A、65,66 B、A,B C、65,68 D、A,68 答案: A 题号:5055 相同结构体类型的变量之间,可以()。 A、比较大小 B、地址相同 C、赋值 D、相加 答案: C 题号:3217 int a[10];合法的数组元素的最小下标值为()。 A、1 B、0 C、10 D、9 答案: B

能正确表示逻辑关系:" a≥10或a≤0 "的C语言表达式是 A、a>=0 | a<=10 B、a>=10 or a<=0 C、a>=10 && a<=0 D、a>=10 || a<=0 答案: D 题号:157 main() {int x=1,a=0,b=0; switch (x) { case 0: b++; case 1: a++; case 2: a++;b++;} printf("a=%d,b=%d",a,b); }该程序的输出结果是( ) A、2,2 B、2,1 C、1,1 D、1,0 答案: B 题号:4784 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的 数据类型为()。 A、不确定 B、double C、int D、float 答案: B 题号:1647 以下程序中,while循环的循环次数是______ main() { int i=0;

C语言题库(填空题部分)

二、填空题 1、C语言中对文件读写之前必须先打开文件,文件的打开是通过调用________函数来实现。 答案: 1:fopen#fopen()#fopen() 知识点:知识点/基本理论/C11文件/C11_2文件函数 2、C语言中文件操作结束节后,必须关闭文件。而且关闭文件是通过调用__________函数来实现。 答案: 1:fclose#fclose()#fclose() 知识点:知识点/基本理论/C11文件/C11_2文件函数 3、字符串函数________用于从指定的磁盘文件中读出一个字符串。 答案: 1:fgets#fgets() 知识点:知识点/基本理论/C11文件/C11_2文件函数 4、字符串函数___________用于把一个字符串写入指定的磁盘文件中。 答案: 1:fputs#fputs() 知识点:知识点/基本理论/C11文件/C11_2文件函数 5、字符读写函数____________是用于从磁盘文件中读出一个字符。 答案: 1:fgetc#fgetc()#getc#getc() 知识点:知识点/基本理论/C11文件/C11_2文件函数 6、字符读写函数____________是用于把一个字符写入磁盘文件。 答案: 1:fputc#fputc()#putc#putc() 知识点:知识点/基本理论/C11文件/C11_2文件函数 7、共用体类型变量的定义关键字是________。 答案: 1:union 知识点:知识点/基本理论/C10共用体与枚举类型 8、定义枚举类型时采用的关键字是__________。 答案: 1:enum 知识点:知识点/基本理论/C10共用体与枚举类型 9、在C语言中,从参数的形式看,函数可以分为两类:无参函数和____________函数。 答案: 1:有参 知识点:知识点/基本理论/C6函数与编译预处理/C62函数分类、调用及返回值T 10、在C语言中,函数的返回值是由___________语句传递的。 答案: 1:return#return() 知识点:知识点/基本理论/C6函数与编译预处理/C62函数分类、调用及返回值T 11、在C语言中,按函数在程序中出现的位置可分为以下三种调用方式:函数语句、函数表达式和函数 __________。 答案: 1:参数 知识点:知识点/基本理论/C6函数与编译预处理/C62函数分类、调用及返回值T 12、在C语言中,在调用一个函数的过程中又出现__________或间接地调用该函数本身,这一现象称为函数的递归调用。 答案: 1:直接 知识点:知识点/基本理论/C6函数与编译预处理/C62函数分类、调用及返回值T 13、在C语言中,若确实不要求返回函数值,则应将函数定义为___________类型。 答案: 1:void 知识点:知识点/基本理论/C6函数与编译预处理/C62函数分类、调用及返回值T 14、在C语言中,假使X为基本整型变量,如果我们采用printf("格式控制",X)格式输出X,那么"格式控制"具体表示为"__"。

C语言填空题

1、在考生目录下,给定程序FILL1、C的功能就是: 计算正整数num的各位上的数字之积。 例如,若输入:252,则输出应该就是:20。 若输入:202,则输出应该就是:0。 程序有两个空(1)、(2)需要补充完整。并将程序调试出所需的结果。 注意:不要随意改动程序,不得增行或删行,也不得更 改程序的结构! #include #include main( ) {long int num,k; /************found************/ _____(1)_______ k=1; clrscr() ; printf("\Please enter a number:") ; scanf("%ld",&num) ; do { k*=num%10 ; /************found************/ _____(2)______ num=num/10 ; } while(num) ; printf("\n%ld\n",k) ; } 2、在考生目录下,给定程序FILL1、C的功能就是:从键盘上输入一个数字组成的字符串(字符串长度小于8),将该字 符串转换成一个十进制数。 例如:从键盘上输入2345,则程序运行的结果应当为: n=2345。 程序有两个空(1)、(2)需要补充完整。请将程序调试出所需的结果。 注意:不要随意改动程序,不得增行或删行,也不得更 改程序的结构! #include "stdio、h" main() { char s[10]; int i; long int n=0; clrscr(); /**************found************/ ___(1)___; scanf("%s",s); /**************found************/ for(i=0;___(2)___;s[i] != ‘\0’ ;i++) n=n*10+s[i]-'0'; printf("n=%ld\n",n);

(完整版)C语言考试题库之判断题(2)

三、判断题(10道小题,共10分) 1、C 语言具有简洁明了的特点。(1分) 正确 2、预处理命令的前面必须加一个“#”号。(1分) 正确 3、标准格式输入函数scanf()可以从键盘上接收不同数据类型的数据项。(1分) 正确 4、在if语句的三种形式中,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用{}括起来组成一个复合语句。(1 分) 正确 5、continue 不是结束本次循环,而是终止整个循环的执行。(1分) 错误 6、在对数组全部元素赋初值时,不可以省略行数,但能省略列数(1分) 错误 7、.函数的实参传递到形参有两种方式值传递和地址传递(1分) 正确 8、直接访问就是直接利用变量的地址进行存取直接访问(1分) 正确 9、共用体变量可以作结构体的成员,结构体变量也可以作共用体的成员。(1分) 正确 10、文件指针和位置指针都是随着文件的读写操作在不断改变。(1分) 错误 11、C 语言标准格式输入函数scanf() 的参数表中要使用变量的地址值。(1分) 正确 12、浮点型常量的指数表示中,e 是可以省略的。(1分) 错误 13、任何表达式语句都是表达式加分号组成的。(1分) 正确 14、在switch语句中,每一个的case常量表达式的值可以相同。(1分) 错误 15、do-while循环的while后的分号可以省略。(1分) 错误 16、用字符串方式赋值比用字符逐个赋值要多占一个字节,用于存放字符串结束标志'\0'。正确 17、C语言函数返回类型的默认定义类型是void(1分) 错误 18、可以用一个指针变量指向一个函数,然后通过该指针变量调用此函数(1分) 正确 19、枚举类型中的元素都具有一个整型值。(1分) 正确 20、C 语言是一种具有某些低级语言特征的高级语言。(1分) 正确 21、case语句后如没有break,顺序向下执行。(1分)正确

C语言填空题以及答案

1. 一条简单语句是以________字符作为结束符的,一条复合语句是分别以 ________字符和________字符作为开始符和结束符的。 2. 任何一个C++程序至少且只能包含一个________函数,且程序总是从这个函数开始执行,不论这个函数的位置如何。一个函数定义由________和________两部分组成。 3. C++头文件和源程序文件的扩展名分别为________和________。 4. cout与操作符_______配合使用才能显示输出,cin与操作符_____配合使用才能实现输入。 5. 数据类型int,char,bool,float,double, int * 等的类型长度分别为________、________、________、________、________和________。 6. 数值常量46、0173和0x62对应的十进制值分别为________、________和________。 7. 字符串”It\’s\40a\40C++programe!”中包含有__________个字符。 8. 若x=5,y=10,则计算y*=++x表达式后,x和y的值分别为________和 ________。 9. 若x=25,则计算y=x--表达式后,x和y的值分别为________和________。 10. 假定x和ch分别为int型和char型,则sizeof(x)和sizeof(ch)的值分别为________和________。 11. 假定x=64,y=88,则x<<2和y>>2的值分别为________和________。 12. 假定x是一个逻辑量,则x&&true的值与________的值相同,x||false的值也与________的值相同。 13. 假定x是一个逻辑量,则x&&!x和x||!x的值分别为________和________。 14. 假定x=10,则表达式x<=10?20:30的值为________。 15. 表达式sqrt(81)和pow(6,3)的值分别为______________和 ______________。 16. 数学算式(1+x)sin48°和axbex+1对应的算术表达式分别为________和 ________。 17. 逻辑表达式:a>=x||b>2*y+10的相反式为:________。 18. 在嵌套的if语句中,每个else关键字与它前面最接近的________关键字相配套。 19. 在for语句中,假定循环体被执行次数为n,则<表达式1>共被计算________次,<表达式2>共被计算________次,<表达式3>共被计算________次。20. 执行for和while循环时,每次是先进行________的判断,然后再执行 ________,执行do循环时则相反。

C语言函数题库及答案

C语言函数题库及答案 Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998

第六部分函数 一、单项选择题 1.C语言中的函数返回值的类型是由(D)决定 A.return语句中的表达式B.调用函数的主调函数 C.调用函数时临时D.定义函数时所指定的函数类型 2.下面不正确的描述是(B)。 A.调用函数时,实参可以是表达式 B.调用函数时,实参和形参可以共用内存单元 C.调用函数时,将形参分配内存单元 D.调用函数时,实参与形参的类型必须一致 3.在C语言中,调用一个函数时,实参变量和形参变量之间的数据传递是 (D) A.地址传递B.值传递 C.由实参传递给形参,并由形参传回给实参D.由用户指定传递方式 4.下面的函数调用语句中含有(A)个实参 inta,b,c; intsum(intx1,intx2); …… total=sum((a,b),c); A.2B.3C.4 D.5 5.在C语言中(C) A.函数的定义可以嵌套,但函数的调用不可以嵌套

B.函数的定义和调用均不可以嵌套 C.函数的定义不可以嵌套,但是函数的调用可以嵌套 D.函数的定义和调用均可以嵌套 6.关于C语言中的return语句正确的是(C) A.只能在主函数中出现 B.在每个函数中都必须出现 C.可以在一个函数中出现多次 D.只能在除主函数之外的函数中出现 7.两个形参中,第一个形参为指针类型、第二个形参为整型,则对函数形参的说明有错误的是(D) (floatx[],intn) (float*x,intn) (floatx[10],intn) (floatx,intn) 8.在C语言中,函数的数据类型是指(A) A.函数返回值的数据类型 B.函数形参的数据类型 C.调用该函数时的实参的数据类型 D.任意指定的数据类型 9.已知如下定义的函数: fun1(a) {printf("\n%d",a); } 则该函数的数据类型是(C)

c语言程序填空题完整

三、程序填空题 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【3.1】下面程序的功能是不用第三个变量,实现两个数的对调操作。 #include main() { int a,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b); a= ① ; b= ② ; a= ③ ; printf("a=%d,b=%d\n",a,b); }

【3.2】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。 #include double pi(long n) { double s=0.0; long i; for(i=1;i<=n;i++) s=s+ ① ; return( ② ); } 【3.3】下面的程序的功能是求一维数组中的最小元素。 findmin(int *s,int t,int *k) { int p; for(p=0,*k=p;p

2019二级C语言题库参考答案解析

2019年C语言考题答案 1、程序填空题 给定的程序的功能是调用fun 函数建立班级通讯录。通讯录中记录每位学生的编号、姓名和电话号码班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat 的二进制中。 填空:( 1) STYPE(2)FILE(3)fp 改错:(1) for(i=0;i<=sl;i++)(2)t[2*sl]= 0“ 或t[sl+sl]= 0“ 编程: *c=(a/10)*1000+(b/10)*100+(a%10)*10+(b% 10); 2、程序填空题给定程序的功能是:从键盘输入若干文本 (每行不超过80 个字符),写到文件myfile4.txt 中,用-1 作为字符串输出输入的标志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadText 和Writetext 实现。 填空:(1)*fw(2)str (3) str 改错:(1)voidfun(longs,long*t)(2) s1=s1*10; 编程:int i,j=0,min=a[0].s; for(i=0;i

else if(min==a[i].s) b[j++]=a[i]; } return j; 3、程序填空题 给定程序中,函数fun 的功能是:讲自 然数1~10 以及它们的平方根写到名为myfile3.txt 的文本中,然后再按顺序读出显示在屏幕上。 填空:( 1) fp( 2)fclose(fp)(3)myfile3.txt 改错:( 1)for(i=j+1;i

C语言试题库(完整版)

C语言试题库 一、单项选择 第一章 C语言概述 (1)一个C程序的执行是从 A、本程序的MAIN函数开始,到MAIN 函数结束。 B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。 C、本程序的MAIN函数开始,到本程序的最后一个函数结束。 D、本程序文件的第一个函数开始,到本程序的MAIN函数结束。(2)以下叙述正确的是 A、在C程序中,MAIN函数必须位于程序的最前面。 B、 C程序的每行中只能写一条语句。 C、 C语言本身没有输入输出语句。 D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误。(3) C语言规定,在一个源程序中,MAIN主函数的位置是在: A、必须在最前面。 B、必须在系统调用的库函数的后面 C、可以在任意位置。

D、必须在最后面 (4)一个C程序是由: A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 (5)以下叙述不正确的是: A、一个C源程序可由一个或多个函数组成 B、一个C源程序必须包含一个MAIN函数 C、 C程序的基本组成单位是函数 D、在C程序中,注释说明只能位于一条语句的后面 第二章数据类型、运算符与表达式 (1)若x, i, j, k都是int型变量,则计算下面表达式后,x的值为x=( i=4, j=16, k=32) A、4 B、16 C、32

D、52 (2)下列四组选项中,均不是C语言键字的选项是 A、define , IF, type B、getc, char, printf C、include, scanf, case E、 if, struct, type (3)下面四个选项中,均是不合法的用户标识符的选项是A、A,P_0,do B、float,1a0, _A C、b-a, goto, int D、_123, temp, INT (4)若有代数式3ae/bc,则正确的C语言表达式是A、a/b/c*e*3 B、3*a*e/bc C、3*a*e/b*c D、a*e/c/b*3 (5)已知各变量的类型说明如下:

C语言填空题

1. 在考生目录下,给定程序FILL1.C的功能是: 计算正整数num的各位上的数字之积。 例如,若输入:252,则输出应该是:20。 若输入:202,则输出应该是:0。 程序有两个空(1)、(2)需要补充完整。并将程序调试出所需的结果。 注意:不要随意改动程序,不得增行或删行,也不得更改程序的结构! #include #include main( ) {long int num,k; /************found************/ _____(1)_______ k=1; clrscr() ; printf("\Please enter a number:") ; scanf("%ld",&num) ; do { k*=num%10 ; /************found************/ _____(2)______ num=num/10 ; } while(num) ; printf("\n%ld\n",k) ; } 2. 在考生目录下,给定程序FILL1.C的功能是:从键盘上输入一个数字组成的字符串(字符串长度小于8),将该字符串转换成一个十进制数。 例如:从键盘上输入2345,则程序运行的结果应当为:n=2345。 程序有两个空(1)、(2)需要补充完整。请将程序调试出所需的结果。 注意:不要随意改动程序,不得增行或删行,也不得更改程序的结构! #include "stdio.h" main() { char s[10]; int i; long int n=0; clrscr();

/**************found************/ ___(1)___; scanf("%s",s); /**************found************/ for(i=0;___(2)___;s[i] != ‘\0’ ;i++) n=n*10+s[i]-'0'; printf("n=%ld\n",n); } 3. 在考生目录下,给定程序FILL1.C的功能是:输出Fabonacci数列:1,1,2,3,5,8,……的前20项的 项值,要求每行输出5个数。请填空。 程序有两个空(1)、(2)需要补充完整。请将程序调试出 所需的结果。 注意:不要随意改动程序,不得增行或删行,也不得更 改程序的结构! #include "stdio.h" main() { long int f[20]={1,1}; int i; clrscr(); /**************found************/ ___(1)___; printf("%8ld,%8ld",f[0],f[1]); for(i=2;i<20;i++) { f[i]=f[i-1]+f[i-2]; /**************found************/ if(___(2)i%5==0) printf("\n"); printf("%8ld",f[i]); } printf("\n"); } 4. 在考生目录下,给定程序FILL1.C的功能是:实现在N行M列的二维数组中,找出每一行上的最大值,且原数组值不变。 例如:如果二维数组元素的值为: 1 5 7 4 2 6 4 3 8 2 3 1 时,程序的运行结果应为: The max value in line 0 is 7 The max value in line 1 is 6

C语言试题及答案

大学C语言考试题库 第1章 C语言概述习题 1. 单项选择题 (1) C 语言是在 B 语言的基础上产生的。 A. A B. B C. D D. E (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 语言只有 32 个关键字和 9 种控制语句。 (2) C 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系统软件又适合于编写应用程序。

大学C语言考试题库及答案

精选考试类应用文档,如果您需要使用本文档,请点击下载,另外祝您生活愉快,工作顺利,万事如意! 大学C语言考试题库及答案 姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题库吧。加油! 一单项选择题库 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’ ’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串 选项B,C,分别用{}和’’标识字符串 选项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 6.下列C语言用户标识符中合法的是(B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是(C )。 A)%x B)a+b C)a123 D)123 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。

c语言经典选择填空题1

选择题(30分)(第一部分分10分,第二部分12分,第三部分8分) 第一部分:简单类题目(50个题目,从中选择10,每题1分) 1、若num、a、b和c都是int型变量,则执行表达式num=(a=4,b=16,c=32)后num的值为(C)A.4B.16 C.32D.522 2.以下程序的输出结果(B)。 main( ) { int x1=3, x2=0, x3=0; if (x1=x2+x3) printf("* * * *"); else printf("# # # #"); } A.输出:* * * * B.输出:# # # # C.存在语法错误D.无输出结果 3.下面四个选项中,均是合法转义字符的选项是(A)。 A.'\'' '\\' '\n' B.'\' '\017' '\"' C.'\018' '\f' 'xab' D.'\\0' '\101' 'xlf' 4.若有说明:int a=1,b=2,c=3,d=4;则表达式a

C语言考试题库之判断题[1]_共5页

三、判断题(10道小题,共10分) 1、c语言具有简洁明了的特点。 正确 2、预处理命令的前面必须加一个“#”号。正确 3、标准格式输入函数seanf()可以从键盘上接收不同数据类型的数据项。 正确 4、在if语句的三种形式中,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用{} 括起来组成一个复合语句。 正确 5、continue不是结束本次循环,而是终止整个循环的执行。 错误 6、在对数组全部元素赋初值时,不可以省略行数,但能省略列数 错误 7、.函数的实参传递到形参有两种方式值传递和地址传递 正确 8、直接访问就是直接利用变量的地址进行存取直接访问 正确 9、共用体变量可以作结构体的成员,结构体变量也可以作共用体的成员。 正确 10、文件指针和位置指针都是随着文件的读写操作在不断改变。 错误 11、C语言标准格式输入函数scanfO的参数表中要使用变量的地址值。 正确 12、浮点型常量的指数表示中,6是可以省略的。 错误 13、任何表达式语句都是表达式加分号组成的。 正确 14、在switch语句中,每一个的case常量表达式的值可以相同。 错误 15、do-while循环的while后的分号可以省略。 错误 16、用字符串方式赋值比用字符逐个赋值要多占一个字节,用于存放字符串结束标志'\0'。 正确 17、C语言函数返回类型的默认定义类型是void( 错误 18、可以用一个指针变量指向一个函数,然后通过该指针变量调用此函数正确 19、枚举类型中的元素都具有一个整型值。 正确 20、C语言是一种具有某些低级语言特征的高级语言。 正确 21、c ase语句后如没有break,顺序向下执行。正确 22、d o-while循环至少要执行一次循环语句。正确

c语言填空题题库

二,填空题(10道小题,共20分) 1、一个C源程序中至少应包含一个[main] 函数。 2、a是整型变量,则执行表达式a=25/3%3后a的值为。[2] 3、int m=5,y=2;则表达式y+=y- =m*=y的值为。[-16] 4、执行下列语句: int a=1, b=2; a=a+b; b=a-b; a=a-b; printf("%d , %d \n", a,b );的输出结果分别是[2,1] 5、条件表达式的格式为表达式1?表达式2:表达式3,若表达式2和表达式3的类型不同,此时条件表达式的值的类型为二者中较[高]的类型 6、当运行以下程序时,从键盘键入right?(代表回车),则下面程序的运行结果是。 #include main( ) { char c; while((c=getchar())! ='?') putchar(++c) } [sjhiu?] 7、C语言中的数组必须先[定义],然后使用。 8、如果需要从被调用函数返回一个函数值,被调用函数必须包含【return】语句。 9、已知:float f1=3.2,f2,*pf1=&f1;f2=f1,则*f2的值为。[3.2] 10、以下程序 void fun(char *a, char *b) { a=b; (*a)++; } main ()

{ char c1="A", c2="a", *p1, *p2; p1=&c1; p2=&c2; fun(p1,p2); printf(“&c&c\n”,c1,c2); } 运行后的输出结果是。[&c&c] 11、字符串常量“123”在内存中的字节数是。[8字节] 12、已有定义 :int x=3 ;则表达式 :x=x+1.78 的值是。【4】 13、int a=24; printf("%o ", a );输出结果是。【30】 14、当a=3,b=2,c=1时,表达式f=a>b>c的值是。【0】 15、下面程序的运行结果是。【x=1,y=20】 #include main() { int i,x,y; i=x=y=0; do {++i; if(i%2!=0) {x=x+i;i++;} y=y+i++; } while (i<=7); printf("x=%d,y=%d\n",x,y); } 16、以下语句char str[10]={"China"}; printf("%d",strlen(str))的输出结果是。[5] 17、为了便于区别全局变量和局部变量,通常将全局变量的首字母。[用大写字母表示] 18、已知:int b=5,*p=&b;并且b的地址为4000,则“printf("%d,%d",p,*p);”的输出结果是。【4000,5】 19、程序main() { int a[2][3]={{1,2,3},{4,5,6}};

2020最新C语言题库及答案

2020最新C语言题库及答案

姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题吧。加油! 一单项选择题 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串 选项B,C,分别用{}和’’标识字符串 选项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 6.下列C语言用户标识符中合法的是( B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是( C )。 A) %x B) a+b C) a123 D) 123 8、下列四组字符串中都可以用作C语言程序中的标识符的是( A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age

相关文档