b)a=b;if(b>c)b=c;elsec=b;c=a;若所用变量都已正确定义,请填写以下程序段的输出结果__OK___.for(i=1;iprintf("OK\n");若有以下数组a,数组元素:a[0]~a[9],其值为94128" />
下面程序段的输出结果是__10___. int a=12;a=a&052;printf("%o\n",a);
当a=3,b=2,c=1;时,执行以下程序段后 c=__2___. if(a>b) a=b; if(b>c) b=c; else c=b; c=a;
若所用变量都已正确定义,请填写以下程序段的输出结果__OK___.
for(i=1;i<=5;i++);
printf("OK\n");
若有以下数组a,数组元素:a[0]~a[9],其值为 9 4 12 8 2 10 7 5 1 3 该数组的元素中,数值最小的元素的下标是_8____.
函数的_递归____调用是一个函数直接或间接地调用它自身.
以下程序的输出结果是__8 (用跟踪程序运行的方法观察递归的过程)___。
fun( int x ,int *s)
{ int f1, f2;
if( n == 1 || n == 2) *s = 1;
else
{ fun( n - 1, &f1) ;
fun(n - 2, &f2);
*s = f1 + f2;
}
}
main()
{ int x;
fun(6, &x);
printf(“%d\n”, x );
}
int main(struct node *first)
{struct node *p;
int m;
p = first ->next;
m = p ->data;
for(p =p ->next; p != '\0'; p =__2002___ )
if( _Shangxian____ ) m = p -> data;
return m;
}
调用 fopen 函数打开一文本文件,在"使用方式"这一项中, 以“只读”方式打开需填入_r____. 设 int x=1/4;则x的值为_0____.
设a=3,b=4,c=5,则表达式!(a+b)+c-1&&b+c/2的值为___1__.
int x=4,y=4,z=2;x=y==z; 则x的值为_0____.
以下程序的执行结果是__9___。
main()
{
int k=8;
switch(k)
{
case 9: k+=1;
case 10: k+=1;
case 11: k+=1; break;
default: k+=1;
}
printf("%d\n",k);
}
以下程序段的输出结果是__11___。
int i = 0, sum = 1;
do
{sum += i++;
} while( i < 5);
printf(“%d\n”, sum);
若有以下数组a,数组元素:a[0]~a[9],其值为 9 4 12 8 2 10 7 5 1 3 该数组中下标最小的数组元素名是__a[0]___.
如果函数不要求带回值,可用__void___来定义函数返回值为空.
以下程序的输出结果是_GFEDCB
____。
#include “stdio.h”
main()
{ char b[] = “ABCDEFG”, *chp = &b[7];
while( --chp >&b[0] )
putchar (*chp);
putchar (…\n?);
设有以下结构类型说明和变量定义(假定int型数据占两个字节),则变量a在内存所占字节数是__22
___ .
struct stud { char num[6]; int s[4]; double ave; } a,*p;
}
以下C程序将磁盘中的一个文件复制到另一个文件中,
两个文件名在命令中给出。请填空。
#include
main( int argc, char *argv[])
{ FILE *f1, *f2;
char ch;
if(argc < 3)
{ printf("命令行参数错!\n");
exit(0);
}
f1 = fopen(argv[1], "_r
r+____");
f2 = fopen(argv[2], "w");
while(!feof(f1))
fputs( fgets(f1), f2);
fclose(f1); fclose(f2);
已知a=13,b=6, a&&b的十进制数值为__1
___.
执行下列语句的结果是_4,4____,a=3;printf("%d,",++a);printf("%d",a++);
请写出与以下表达式等价的表达式是 A
___。
A)!(x>0) B)!0
执行以下程序后的输出结果是_i = 5, j = 4, k = 6____。
main()
{
int a, b, c, d, i, j, k;
a = 10;
b =
c =
d = 5; i = j = k = 0;
for( ; a > b; ++b)
i++;
while( a > ++c )
j++;
do
k++;
while(a > d++);
printf(“i = %d, j = %d, k = %d\n”, i, j, k);
}
C语言中,数组名代表的是数组的___首地址
起始地址
地址
__,不能对它进行加减和赋值运算.
静态变量的类型说明符是_static____
当运行以下程序时从键盘输入字符串qwerty和abcd, 则程序的输出结果是__10___。
#include “string.h”
#include “stdio.h”
strle(char a[], char b[])
{ int num = 0, n = 0;
while( *(a + num) != …\0?)
num ++;
while(b[n])
{ *(a+num) = b[n];
num ++;
n++;
}
return (num);
}
main()
{ char str1[81], str2[81], *p1 = str1, *p2 = str2;
gets(p1); gets(p2);
printf(“%d\n”, strle(p1, p2));
}
#include "stdio.h"
struct ty
{ int data;
char c;
};
main()
{ struct ty a={30,′x′};
fun(a);
printf("%d%c",a.data,a.c);
}
fun(struct ty b)
{b.data=20;
b.c=′y′;
}
main()
{ FILE *fp;
char ch, fname[10];
printf("Enter the name of file\n");
gets(fname);
if( ( fp = fopen(fname,"w")_____ ) == NULL )
{ printf("Open error!\n");
exit(0);
}
printf("Enter data: );
while(( ch = getchar() ) != '#' )
fputc(ch , fp);
fclose( fp );
}
假设有条件 int x=1,y=2,z=3;则表达式z+=x>y?++x:++y的值是__6___.
一个C源程序中至少应包括一个__main
主___函数.
以下程序的输出结果为___10__, #include "stdio.h" main(){int
a;for(a=0;a<10;a++);printf("%d",a);}
当a=1,b=2,c=3时,执行以下程序段后a=__3
___. if (a>c) b=a; a=c; c=b;
以下do-while语句中循环体的执行次数是3
_____. a=10; b=0; do { b+=2; a-=2+b; } while (a>=0); 数组char a[2]中的所有元素是a[0]和___a[1]__.
函数调用语句func((e1,e2),(e3,e4,e5))中含有__2___个实参.
以下程序的输出结果是__ar=9 ar=9 ar=11___。
#define PR(ar) printf(“ar = %d “, ar)
main()
{ int j, a[] = { 1, 3, 5, 7, 9, 11, 13, 15}, *p = a + 5;
for(j = 3; j ; j--)
switch( j )
{ case 1:
case 2: PR(*p++); break;
case 3: PR(*(--p) );
}
}
在C程序中,数据可以用二进制和_ASCII____两种代码形式存放.
设x=2&&2||5>1,x的值为__1___.
已知 i=5;写出语句 i+=012; 执行后整型变量 i 的十进制值是15_____.
若有以下说明和输入语句,要求给c1、c2、c3输入字符A、B和C,请写出从键盘正确输入数据↙___。
char c1, c2, c3;
scanf(“%4c”, &c1);
scanf(“%4c”, &c2);
scanf(“%4c”, &c3);
若变量已正确定义,以下语句段的输出结果是_*#____。
x = 0; y = 2; z = 3;
switch(x)
{ case 0: switch( y == 2)
{ case 1: printf(“*”); break;
case 2: printf(“%”); break;
}
case 1: switch( z )
{ case 1: printf(“$”);
case 2: printf(“*”); break;
default : printf(“#”);
}
}
以下程序的功能是:从键盘上输入若干学生的成绩,统计并输出最高成绩和最低成绩,
当输入为负数时结束输入。请填空。
main()
{ float x, amax, amin;
scanf(“%f”, &x);
amax = x; amin = x;
while(___x >= 0 __ )
{ if( x > amax ) amax = x;
if(__x < amin
___) amin = x;
scanf(“%f”, &x);
}
printf(“\namax = %f\naming = %f\n”, amax, amin);
}
字符串的结束标志是__\0 '\0' 0___.
以下程序的执行结果是__V = 1 V = 2
___。
#define PRINT(V) printf(“V = %d\t”,V)
main()
{
int a, b;
a = 1;
b = 2;
PRINT(a);
PRINT(b);
}
在c程序中,只能给指针赋NULL值和__地址___值.
以下程序用来统计文件中字符的个数。请填空。
#include
main()
{ FILE *fp;
long num = 0;
if( ( fp = fopen("fname.dat", "r") == NULL )
{ printf("Open error!\n");
exit(0);
}
while( !feof(fp))
{ fgetc(fp);
num ++;
}
printf("num = %d\n", num);
_fclose____( fp );
}
设x=(5>1)+2,x的值为_3___.
int x=2,y=3,z=4; 则表达式x+y>z&&y==z的值为___0__.
输入整型变量a的值. int a; scanf("%d",__&a___);
下列程序的功能是输入一个整数,判断其是否是素数,若为素数输出1,否则输出0.请填空。
main()
{ int i, x, y=1;
scanf(
for()
if_!(x % i)
x % i == 0
____{ y=0; break;}
printf("%d\n", y);
}
以下程序段的输出结果是__3___。
printf(“%d\n”, strlen(“s\n\016\0end”));
若希望文件指针直接指向文件尾部,应当使用的函数调用格式是__fseek(fp,0L,SEEK_END)___。
写出表达式 1.234&&5.982 的值是__1___.
执行下面两个语句,输出的结果是_97 b____,char c1=97,c2=98;printf("%d %c",c1,c2);
阅读下面程序,程序执行后的输出结果是__3___。
#include "stdio.h"
main()
{
int x,y,z;
x = 1; y = 2; z = 3;
if(x>y)
if(x>z)printf("%d",x);
else printf("%d",y);
printf("%d\n",z);
}
数组定义如下:int a[3][2]={1,2,3,4,5,6};则a[1][1]=__4___
下列程序的执行结果是__8 4___。
int d = 1;
fun(int p)
{ int d = 5;
d += p++;
pritnf(“%d “, d);
}
main()
{ int a = 3;
fun(a);
d += a++;
printf(“%d\n”, d);
}
若有以下定义和语句: int a[5]={1,3,5,7,9},*p; p=&a[2]; 则++(*p)的值是_6____. 以下程序的运行结果是_ 30x
#include
typedef struct student
{ char name[10];
long sno;
float score;
}STU;
main()
{ STU a = {“Zhangsan”, 2001,95}, b = {“Shangxian”, 2002,90},
c = {“Anhua”, 2003, 95},
d = a, *p = &d;
if(strcmp(https://www.docsj.com/doc/7819273074.html,, https://www.docsj.com/doc/7819273074.html,) > 0) d = b;
if(strcmp(https://www.docsj.com/doc/7819273074.html,, https://www.docsj.com/doc/7819273074.html,) > 0) d = c;
printf(“%ld %s\n”, d.sno, p ->name);
}
if( ( fp = fopen("fname.dat", "r") == NULL )
{ printf("Open error!\n");
exit(0);
}
while( !feof(__fp___))
{ fgetc(fp);
num ++;
}
printf("num = %d\n", num);
fclose( fp );
}
设x=72,表达式x=(x>=60)的值为_ 1____.
int x=2,y=3,z=4; 则表达式!(x+y)>z的值为_ 0____.
当a=1,b=2,c=3时,执行以下程序段后b=__2___. if (a>c) b=a; a=c; c=b;
以下程序的输出结果是__-1___。
main()
{ int x = 2;
while ( x-- );
printf(“%d\n”, x);
}
若有以下数组a,数组元素:a[0]~a[9],其值为 9 4 12 8 2 10 7 5 1 3 该数组可用的最大下标是_9____.
以下程序的输出结果是__7___。
fun( int x )
{ int p;
if( x == 0 || x ==1)
return (3);
p = x - fun(x - 2);
return p;
}
main()
{ printf(“%d\n”, fun(9) );
}
以下程序段的输出结果是__110___。
int *var, ab;
ab = 100; var = &ab; ab = *var + 10;
printf(“%d\n”, *var);
以下main函数的功能是查找带有头结点的单向链表中,结点数据域的
最小值作为函数值返回。请填空。
struct node
{ int data;
struct node *next;
}
int main(struct node *first)
{struct node *p;
int m;
p = first ->next;
m = p ->data;
for(p =p ->next; p != '\0'; p =__2002___ )
m = p -> data;
}
int x; x=-3+4%5-6, 则x 的值为_ -5____.
int x; x=-3+4%5*3, 则x 的值为___ 9__.
main()
{ int a = 100;
if( a > 100) printf(“%d \n”, a > 100);
else printf(“%d \n”, a <= 100);
}
有以下程序段:
s = 1.0;
for(k = 1; k <= n; k++)
s = s + 1.0 / (k * (k + 1));
printf(“%f \n”, s);
请填空,使下面的程序段的功能完全与之等同。
_d = 1.0 do
{ s += d;
__k++___;
以下函数用以求x 的y 次方。请填空。
double fun( double ,x double y)
double z=1.0;
return
∑==n k k s 0!
}
PROG ABCD EFGH iJKL
则输出结果为:__iJKLEFGHABCD ___。
main()
{ while( -- argc > 0 )
printf(“%s”, argv[argc] );
printf(“\n”);
}
以下函数creat用来建立一个带头结点的单向链表,新产生的结点总是插在链表的末尾,单向链表的头指针作为函数值返回。请填空。
#include "stdio.h"
struct list
{char data;
struct list *next ;
};
struct list *creat()
{ struct list *h, *p, *q;
char ch;
h =__(struct list *)___ malloc(sizeof(_struct list____ ) );
p = q = h;
ch = getchar();
while( ch != '?')
{ p =_(struct list *) ___malloc(sizeof(_struct list____ ) );
p -> data = ch;
q -> next = p;
q = p;
ch = getchar();
}
}
C语言中调用__fopen fopen()___函数来打开文件.
表达式 i++ 相当于表达式i=__i+1 1+i___.
int x=2;z=-(x++)+1; 则x的值为_3____.
以下程序的输出结果是__4___。
fun1(int a, int b)
{ int c;
a += a;
b += b;
c = fun2(a, b);
return c * c;
}
fun2(int a, int b)
{ int c;
c = a * b % 3;
return c;
}
main()
{ int x = 11, y = 19;
printf(“%d\n”, fun1(x, y));
}
当运行以下程序时从键盘输入字符串qwerty和abcd, 则程序的输出结果是__10___。
#include “string.h”
#include “stdio.h”
strle(char a[], char b[])
{ int num = 0, n = 0;
while( *(a + num) != …\0?)
num ++;
while(b[n])
{ *(a+num) = b[n];
num ++;
n++;
}
return (num);
}
main()
{ char str1[81], str2[81], *p1 = str1, *p2 = str2;
gets(p1); gets(p2);
printf(“%d\n”, strle(p1, p2));
}
为了建立如图所示的存储结构,请填空。
struct slink
{char data;
__struct node *link___;
} node;
以下程序用来统计文件中字符的个数。请填空。
#include
main()
{ FILE *fp;
long num = 0;
if( ( fp = fopen("fname.dat", "r") == NULL )
{ printf("Open error!\n");
exit(0);
}
while( !__ feof___(fp))
{ fgetc(fp);
num ++;
}
printf("num = %d\n", num);
fclose( fp );
}
设x=5>1+2,x的值为___1__.
若int x=6;则x+=x-=x*x表达式最后x的值是__-60___.
以下程序段的输出结果是_a = 513.789215____、_a = 513.79____、_a = 513.78921500____、_a = 513.78921500____
double a = 513.789215;
printf(“a = %8.6f, a = %8.2f, a = %14.8f, a = %14.8lf\n”, a, a, a, a);
当a=3,b=2,c=1;时,执行以下程序段后 a=_2____. if(a>b) a=b; if(b>c) b=c; else c=b; c=a;
以下程序的功能是将x字符串与y字符串连接并输出,请填空。注:程序中不能使用字符串连接函数。
#include
main()
{ char x[80], y[40];
int a, h = 0;
printf(“Please input x string: “);
gets(x);
printf(“Please input y string: “);
gets(y);
while(x[h]!=?\0?)
_h++____ ;
__a = 0___;
while(y[a]!=?\0?)
x[h++] = y[a++];
_x[h] = …\0?____ ;
printf(“Output x string: “);
puts(x);
}
以下程序的输出结果是__4___。
fun1(int a, int b)
{ int c;
a += a;
b += b;
c = fun2(a, b);
return c * c;
}
fun2(int a, int b)
{ int c;
c = a * b % 3;
return c;
}
main()
{ int x = 11, y = 19;
printf(“%d\n”, fun1(x, y));
}
{int t;
if(i < j)
{ t = *(s + i);
*(s + i ) = _*(s+j)____;
*(s + j ) = t;
invert( s, __i+1___, j - 1);
}
}
main()
{ int a[N], i;
for( i = 0; i < N; i++)
scanf(“%d”, a + __i___ );
invert( a, 0, N - 1);
for(i = 0; i < N; i ++)
printf(“%d”, a[i]);
printf(“\n”);
}
C语言中调用_fclose fclose()____函数来关闭文件.
设 x 的值为15,n 的值为2,则表达式 x%=(n+3) 运算后 x 的值是__0___.
设(k=a=5,b=3,a*b),则k值为__5___.
复合语句在语法上被认为是__一条语句___。空语句的形式是__;___。
将上题中的双分支if语句改写成条件表达式语句:_printf(“%d\n”, (a > 100) ? (a > 100) : (a <= 100) );____
main()
{ int a = 100;
if( a > 100) printf(“%d\n”, a > 100);
else printf(“%d\n”, a <= 100);
}
以下程序段的输出结果是_无输出结果
死循环
死循环无输出结果____。
int k, n, m;
n = 10; m = 1; k = 1;
while( k <= n )
m *= 2;
printf(“%d\n”, m);
数组char a[2]中的所有元素是a[0]和_a[1]____.
以下findmax返回s中最大元素的下标,数组中元素的个数由t传入。请填空。
fndmax( int s[], int t)
{ int k, p;
for(p = 0, k = p; p < t; p++)
if(s[p] > s[k] )
_k = p____ ;
return_k____;
}
以下程序的输出结果是___SO__。
main()
{ char *p[] = {“BOOL”, “OPK”, “H”, “SP”};
int i;
for(i = 3; i >= 0; i--, i--)
printf(“%c”, *p[i]);
printf(“\n”);
}
以下程序由终端键盘输入一个文件名,然后把终端键盘输入的字符依次存
放到该文件中,用#号作为结束输入的标志。请填空。
#include
main()
{ FILE *fp;
char ch, fname[10];
printf("Enter the name of file\n");
gets(fname);
if( ( fp = fopen(fname,"w") ) == NULL )
{ printf("Open error!\n");
exit(0);
}
printf("Enter data: );
while(( ch = getchar() ) != '#' )
_fputc____(ch , fp);
fclose( fp );
}
int x=2,y=2,z=0; 则表达式x==y>z的值为__0___.
int a=1,b=2,c=3; 表达式(a&b)||(a|b) 的值是__1___.
以下程序段的输出结果是_x = 127____、_x = 127____、x = 177_____、__x = 7f___、_x = 127____。
int x = 0177;
printf(“x = %3d, x = %6d, x = %6o, x = %6x, x = %6u\n”, x, x, x, x, x);
阅读下面程序,则执行后程序的结果为_15, 16____。
#include "stdio.h"
main()
{
int a=0,b=0;
while(a<15)
a++;
while(b++<15);
printf("%d,%d\n",a,b);
}
给出以下程序,其功能是将a矩阵和b矩阵合并成c矩阵,最后将c矩阵按格式输出。请填空。
#include
main()
{int a[3][4] = {{3, 1, 7, 5},{1, 2, 4, 3},{6, 3, 0, 2}};
int b[3][4] = {{2, 3, 1, 4},{5, 1, 3, 6},{1, 5, 2, 3}};
int i, j, c[3][4];
for(i = 0; i < 3; i++)
{ for(j = 0; j < 4; j++)
}
}
以下程序的输出结果是_12____。
unsigned fun6(unsigned num)
{ unsigned k = 1;
do
{ k *= num % 10;
num /= 10;
} while( num);
return k;
}
main()
{ unsigned n = 26;
printf(“%d\n”, fun6(n));
}
下列程序的执行结果是_3 5____。
fun(int *x, int *y)
{ int c, *z = &c;
z = x; x = y; y = z;
}
main()
{
int a = 3, b = 5;
fun(&a, &b);
printf(“%d %d\n”, a,b);
}
结构体是不同数据类型的数据集合,作为数据类型, 必须先说明结构体___类型__,再说明结构体变量.
在对文件进行的操作过程中,若要求文件的位置回到文件的开头,
应当调用的函数是_rewind____。
c语言程序的三种基本结构是:顺序结构,选择结构,_循环____结构.
运用位运算,能将八进制数0125000除以4,然后赋给变量a的表达式是_a = 0125000>>2____。
以下程序段,要求通过scanf语句给变量赋值,然后输出变量的值。写出运行时给k输入100,给a 输入25.81,
给x输入1.89234时的三种可能的输入形式_100 25.81 1.8923____、100 25.81 1.8923 _____、
___100 25.81 1.8923__。
int k; flaot a; double x;
scanf(“%d%f%lf”, &k, &a, &x);
printf(“k = %d, a = %f, x = %f\n”, k, a, x);
将下列数学式改写成C语言的关系表达式或逻辑表达式是
A)a=b或a
设i,j,k均为int型变量,则执行完for循环 for(i=0,j=10;i<=j;i++,j--) k=i+j; 后,k的值为__10___.
执行语句char s[3]="ab",*p; p=s; *(p+__2___)的值是'\0'.
以下程序的输出结果是__2,5,1,2,3,-2___。
main()
{ int a = 3, b = 2, c = 1;
c -= ++b;
b *= a + c;
{ int b = 5, c = 12;
c /= b * 2;
a -= c;
printf(“%d, %d, %d, ”, a, b, c );
a += --c;
}
printf(“%d, %d, %d\n”, a, b, c);
}
将数组a的首地址赋给指针变量p的语句是_p=a; p=&a[0];____.
调用 fopen 函数打开一文本文件,在"使用方式"这一项中, 以“追加”方式打开需填入_a a+____.
设x=4<4-!0,x的值为_0____.
已知a=13,b=6, a%b的十进制数值为__1___.
main()
{
int a, b, *p = &a, *q = &b;
a = 10;
b = 20;
*p = b;
*q = a;
printf(“a = %d, b = %d\n”, a, b);
}
以下C程序将磁盘中的一个文件复制到另一个文件中,
两个文件名在命令中给出。请填空。
#include
main( int argc, char *argv[])
{ _FILE____ *f1, *f2;
char ch;
if(argc < 3)
{ printf("命令行参数错!\n");
exit(0);
}
f1 = fopen(argv[1], "r");
f2 = fopen(argv[2], "w");
while(!feof(f1))
fputs( fgetc(f1), f2);
fclose(f1); fclose(f2);
}
设 x 的值为15,n 的值为2,则表达式 x*=n+3 运算后 x 的值是__75___.
已知 i=5, 写出语句 a=(i>5)?0:1; 执行后整型变量 a 的值是__1___.
int x=4,y=2,z=2;z=x==(y=z); 则z的值为__0___.
main()
{ int x=100, a=10, b=20, ok1=5, ok2=0;
if(a
else if(ok2)x=10;
else x=-1;
printf("%d\n", x);
}
若有定义int a[3][4]={1,2,3,4,5,6,7,8,9};,则
静态变量的类型说明符是__static___
以下程序中的trap函数是一个用梯形法求定积分的通用函数,梯形法求定积分s的公式为:
∑-=+
+
+
=
1
1
*)
* (
2/)
(
)
(
((
n
i
h
h
i
a
f
b
f
a
f
s
n b
a h -
=
其中: n为积分小区间数,以下程序调用trap函数求定积分,被积函数是:f(x) = x*x +3*x + 2, 且n = 1000, a = 0, b = 4。
#include “math.h”
double a, double b)
{ double t, h;
t = 0.5 *((*fun)(a) +(*fun)(b) );
h = fabs(a - b) / (double) ( n );
return (t);
}
double mypoly( double x)
{ return (x * x + 3.0 * x + 2.0);
}
main()
{
printf(“%f\n”, y);
以下程序用来统计文件中字符的个数。请填空。
#include
main()
{ FILE *fp;
long num = 0;
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;
程序填空题 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【】下面程序的功能是不用第三个变量,实现两个数的对调操作。#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); }
【】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。 #include <> double pi(long n) { double s=; long i; for(i=1;i<=n;i++) s=s+ ①; return( ②); } 【】下面的程序的功能是求一维数组中的最小元素。 findmin(int *s,int t,int *k) { int p; for(p=0,*k=p;p 二、填空题 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 一、单项选择题 1.C语言规定,在一个源程序中main函数的位置______d___ 。 A.必须在最开始B.必须在最后 C.必须在预处理命令的后面D.可以在其他函数之前或之后 2.以下选项中,_________d__ 是C语言关键字 A.printf B.include C.fun D.default 3.已知有声明"int a=3,b=4,c;",则执行语句"c=1/2*(a+b);"后,c的值为____a_ 。 A.0 B.3 C.3.5 D.4 4.设指针变量占4个字节的内存空间,若有声明"char *p="123";int c;",则执行语句 "c=sizeof(p);"后,c的值为__d__ A.1 B.2 C.3 D.4 5.已知有声明"int a=3,b=4;",下列表达式中合法的是_d___。 A.a+b=7 B.a=|b| C.a=b=0 D.(a++)++ 6.已知有声明"char s[20]="Hello";",在程序运行过程中,若要想使数组s中的内容修改为"Good",则以下语句中能够实现此功能的是___d_。 A.s="Good"; B.s[20l="Good"; C.strcat(s,"Good"); D.strcpy(s,"Good"); 7.已知有声明"int a[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};",若需要引用值为12的数组元素,则下列选项中错误的是_a___ 。 A.*(a+2)+3 B.*(*(a+2)+3) C.*(a[2]+3) D.a[2][3] 8.已知有声明"int n;float x,y;",则执行语句"y=n=x=3.89;"后,y的值为_b___ 。 A.3 B.3.0 C.3.89 D.4.0 9.已知有声明"int a=12,b=15,c;",则执行表达式"c=(a||(b-=a))"后,变量b和c的值分别为 __b__。 A.3,1 B.15,12 C.15,1 D.3,12 10.下面的函数定义正确的是_____d________ A)float fun (float x ; float y) {return x*y;} B)float fun (float x,y) {return x*y;} C)float fun (x,y) {int x,y;return x*y;} D)int fun (int x, int y) {return x*y;} 11.某程序需要使用一个代表常数3.14的符号常量名P,以下定义中正确的是_d___。 A.#define P 3.14; B.#define P(3.14) C.#define P=3.14; D.#define P 3.14 12.下列四个选项中,属于C语言关键字的是__c__ 。 A.Float B.single C.double D.real 13.已知某编译系统中signed int类型数据的长度是16位,该类型数据的最大值是_D___。 A.32767 B.32768 C.127 D.65535 C语言程序设计 期末考试试题及其答案 一、单项选择题(本大题共20题,每题2 分,共40分) 1、以下不是C语言的特点的是( ) A、C语言简洁、紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件进行操作 D、C语言移植性好 2、以下不正确的C语言标识符是( ) A、ABC B、abc C、a_bc D、ab.c 3、一个C语言程序是由( ) A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( ) A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D、可行性 5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( ) A、int B、float C、double D、不确定 6、在C语言中,char型数据在内存中的存储形式是( ) A、补码 B、反码 C、源码 D、ASCII码 7、有如下程序,输入数据:12345M678<cR>后( #include 三、程序填空题 导读:在程斥填空题中,已经给出了程序的主干,读者首先要理解程序的思路, 再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步堂握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上己经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而白己编写程序乂不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【3.1】下面程序的功能是不用第三个变量,实现两个数的对调操作。 ttinclude for(i=0; i<10; i++) scanf &a[i]); findmin(a, 10, k); printf ("%d, %d\n", *k, a L*kJ); } 【3.4】下面程序的功能是计算1-3+5-7+……-99+101的值。 main() { int i, s=0: for(i=l; i<=101: i+=2) {①; s二s+t: ②; } printf ("%d\n", s); } [3.5]有以下程序段: s=l. 0; for(k=1: k<=n: k++) s=s+l. 0/(k*(k+1)); printf ("%f\n", s); 填空完成下述程斥,使之与上述程序的功能完全相同。 s=0. 0: ①; k=0; do { s二s+d; ②; d=1.0/(k*(k+l)); }while(③); printf ("%f\n", s); [3.6]下而程用的功能是从键盘上输入若干学生的学习成绩,统计并输出最高成绩和最低成绩,当输入为负数时结束输入。 main () ;、float x, amax, amin; scanf &x); amax=x: amin=x; 1、在考生目录下,给定程序FILL1、C的功能就是: 计算正整数num的各位上的数字之积。 例如,若输入:252,则输出应该就是:20。 若输入:202,则输出应该就是:0。 程序有两个空(1)、(2)需要补充完整。并将程序调试出所需的结果。 注意:不要随意改动程序,不得增行或删行,也不得更 改程序的结构! #include 面向对象程序设计期末综合练习二(填空题) 填空题 1.C++ 语言是在 _________语言的基础上发展起来的。 2.C++ 语言的编译单位是扩展名为 __________的 __________文件。 3.行尾使用注释的开始标记符为 __________ 。 4.多行注释的开始标记符和结束标记符分别为__________ 和 __________。 5.用于输出表达式值的标准输出流对象是_________。 6.用于从键盘上为变量输入值的标准输入流对象是________。 7.一个完整程序中必须有一个名为 ________的函数。 8.一个函数的函数体就是一条 _________语句。 9.当执行 cin 语句时,从键盘上输入每个数据后必须接着输入一个________符,然后才能继续输入下一个数据。 10.在 C++程序中包含一个头文件或程序文件的预编译命令为__________。 11.程序中的预处理命令是指以______字符开头的命令。 12.一条表达式语句必须以 ______ 作为结束符。 13.在#include 命令中所包含的头文件,可以是系统定义的头文件,也可以是 ________定义的头文件。 14.使用 #include 命令可以包含一个头文件,也可以包含一个______文件。 15.一个函数定义由 ________和 ________两部分组成。 16.若一个函数的定义处于调用它的函数之前,则在程序开始可以省去该函数的______语句。 17. C++头文件和源程序文件的扩展名分别为______和 ______。 18.程序文件的编译错误分为 ________和 ________两类。 19.当使用 _______保留字作为函数类型时,该函数不返回任何值。 20.当函数参数表用 ______保留字表示时,则表示该参数表为空。 21 .从一条函数原型语句“int fun1(void);”可知,该函数的返回类型为______,该函数带有______ 个参数。 22.当执行 cout 语句输出 endl 数据项时,将使 C++显示输出屏幕上的光标从当前位置移动到 ________的开始位置。 23.假定 x=5,y=6,则表达式 x++*++y 的值为 __________ 。 24.假定 x=5,y=6,则表达式x--*--y的值为__________。 25.假定 x=5,y=6,则执行表达式 y*=x++ 计算后, x 和 y 的值分别为 __________和 __________ 。 26.假定 x=5,y=6,则执行表达式 y+=x-- 计算后, x 和 y 的值分别为 __________和 __________ 。 27.C++ 常数 0x145 对应的十进制值为 __________。 28.C++ 常数 0345 对应的十进制值为 __________ 。 29.十进制常数 245 对应的十六进制的 C++表示为 __________。 30.十进制常数 245 对应的八进制的 C++表示为 __________ 。 31.signed char类型的值域范围是________至__________之间的整数。 32.int和float类型的数据分别占用_________和__________个字节。 33.float和double类型的数据分别占用_________和________个字节。 34.bool和char类型的数据分别占用_________和________个字节。 35.unsigned short int和int类型的长度分别为_________和________。 1 给定程序的功能是:求二分之一的圆面积,函数通过形参得到圆的半径,函数返回二分之一的圆面积(注:圆面积公式为:S r π=2,在程序中定义的变量名要与公式的变量相同)。 例如,输入圆的半径值:19.527,输出为:s=598.949991。 2 请补充main 函数,该函数的功能是:计算两个自然数n 和m(m<10000)之间所有数的和(n 和m 从键盘输入)。 例如,当n=1,m=100时 ,sum=5050; 当 n=100,m=1000 时,sum=495550。 3 给定程序的功能是:判断字符ch 是否与串str 中的某个字符相同,若相同什么也不做,若不同则插在串的最后。 4 请补充函数fun,该函数的功能是:把ASCII 码为偶数的字符从字符串str 中删除,结果仍然保存在字符串str 中,字符串str 从键盘输入,其长度作为参数传入函数fun 。 例如,输入"abcdef",输出"ace"。 5 请补充函数fun,该函数的功能是:判断某一个年份是否为闰年。 例如,1900年不是闰年,2004是闰年。 6 请补充函数fun,函数fun 的功能是求n 的阶乘。 7 请补充函数fun,该函数的功能是:整除x 且是偶数的数,把这些数保存在数组bb 中,并按从大到小的顺序输出。 例如当x=20时,依次输出:20 10 4 2。 8 请补充函数fun,它的功能是:计算并输出n(包括n)以内所有能被3或7整除的自然数的倒数之和。 例如,在主函数中从键盘给n 输入30后,输出为:s=1.226323。 9 请补充main 函数,该函数的功能是:计算每个学生成绩的平均分,并把结果保存在数组 bb 中 。 例 如 ,当 score[N][M]={{83.5,82,86,65,67},{80, 91.5 ,84,99,95},{90.5,95,86,95,97}}时,三个学生的平均分为76.7,89.9,92.7。 10 请补充函数fun(char*s),该函数的功能是:把字符串中的内容逆置。 例如,字符串中原有的字符串为abcde,则调用该函数后,串中的内容为edcba 。 11 请补充main 函数,该函数的功能是:输出一个N N ?矩阵,要求非周边元素赋值0,周边元素赋值1。 12 请补充main 函数,该函数的功能是:从键盘输入一个字符串及一个指定字符,然后把这个字符及其后面的所有字符全部删除。结果仍然保存在原串中。 例如,输入"abcdef",指定字符为"e",则输出"abcd"。 13 请补充main 函数,该函数的功能是:从键盘输入3个整数,然后找出最大的数并输出。 例如,输入12,45,43,最大值为45。 14 函数fun 的功能是:从三个形参a 、b 、c 中找出中间的数,作为函数值返回。 例如,当a=3,b=5,c=4时,中间的数为4。 15 函数fun 的功能是:统计长整数n 的各位上出现数字1、2、3的次数,并用外部(全局)变量c1、c2、c3返回主函数。 例如,当n=123114350时,结果应该为:c1=3 c2=1 c3=2。 16 请补充main 函数,该函数的功能是:打印出1 1000中满足个位数字的立方等于其本身所有数。 本题的结果为:1 64 125 216 729 17 请补充main 函数,该函数的功能是:打印出满足个位的数字、十位上的数字和百位上的数字都相等的所有三位数。 本题的结果为: 111 222 333 444 555 666 777 888 999。 18 请补充main 函数。该函数的功能是:求1 100(不包括100)以内所有素数的平均值。 程序运行后的结果为42.40。 19 请补充函数fun,该函数的功能是:求一维数组x[N]的平均值,并对所得结果进行四舍五入(保留两位小数)。 例如,当x[10]={15.6,19.9,16.7,15.2,18.3,12.1,15.5,11.0,10.0,16.0},结果为:avg=15.030000。 20 请补充函数fun,该函数的功能是:把一个整数转换成字符串,并倒序保存在字符数组str 中。例如,当 n=13572468 时,str="86427531"。 21 请补充函数fun,该函数的功能是:将字符串tt 中的大写字母都改为对应的小写字母,其他字符不变。例如,若输入"Are you come from Sichuan?",则输出"are you come from sichuan?"。 22 请补充main 函数,该函数的功能是:从键盘输入一个长整数,如果这个数是负数,则取它的绝对值,并显示出来。例如,输入:-3847652,结果为:3847652。 23 请补充main 函数,该函数的功能是:从键 盘输入若干字符放到一个字符数组中,当按回车键时结束输入,最后输出这个字符数组中的所有字符。 24 请补充main 函数,该函数的功能是求方程ax 2+bx+c=0的两个实数根。方程的系数a 、b 、c 从键盘输入,如果判别式(disc=b 2-4ac)小于0,则要求重新输入a 、b 、c 的值。 例如,当a=1,b=2,c=1时,方程的两个根分别是x1=-1.00,x2=-1.00。 25 请补充main 函数,该函数的功能是:从键盘输入两个字符串并分别保存在字符数组str1和str2中,用字符串str2替换字符串str1前面的所有字符。注意:str2的长度不大于str1,否则需要重新输入。 例如,如果输入str1="abced",str2="fk",则输出"fkced"。 26 给定程序中,函数fun 的功能是:将形参指针所指结构体数组中的三个元素按num 成员进行升序排列。 27 给定程序中,函数fun 的功能是:把形参s 所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动 (注:字符串的长度不小于2)。 例如,形参s 所指的字符串为:abcdefgh,执行结果为:ahcbedgf 。 28 给定程序的功能是:分别统计字符串中大写字母和小写字母的个数。 例如,给字符串ss 输入:AaaaBBbl23CCccccd,则输出结果应为:upper=5,lower=9。 29 请补充main 函数,该函数的功能是:先以只写方式打开文件"out29.dat",再把字符串str 中的字符保存到这个磁盘文件中。 30 请补充main 函数,该函数的功能是:把文本文件B 中的内容追加到文本文件A 的内容之后。 例如,文件B 的内容为"I m ten.",文件A 的内容为"I m a student!",追加之后文件A 的内容为"I m a student ! I m ten."。 31 请补充main 函数,该函数的功能是:求n!。 例如,7!=5040。 32 请补允函数fun,该函数的功能是:计算并输出下列多项式的值。 111 S =1+ + ++ 1+2 1+2+3 1+2+3+ 例如,若主函数从键盘给n 输入50后,则输出为S=1.960784。 33 C语言程序设计试题(第1套) 一.单项选择题(30分,每题2分) 1.用C语言编写的代码程序______。 A、可立即执行 B、是一个源程序 C、经过编译即可执行 D、经过编译解释才能执行 2. C语言中用于结构化程序设计的三种基本结构是______。 A、顺序结构、选择结构、循环结构 B、if、switch、break C、for、while、do-while D、if、for、continue 3. 以下选项中合法的实型常数是______。 A、B、E-3 C、.2E0 D、 4. 假定x和y为double型,则表达式x=2,y=x+3/2的值是______。 A、B、3 C、D、 5. ch是字符型变量,下面不正确的赋值语句是______。 A、ch = 65; B、ch="a"; C、ch ='\ n'; D、ch= 9+ '0'; 6. 下列有关C语言程序书写格式的说法哪个是错误的 A、C程序的书写格式比较自由,一个语句可以占多行,一行也可以有多个语句。 B、C语句必须要有分号。 C、C语言程序的标识符必须使用小写字母。 D、用{ } 括起来的部分,通常表示了程序的某一层次结构,称为块。 7.下面程序段所表示的数学函数关系是______。 x= -1; if (a!=0) if (a>0) x=1; else x=0; -1 (a<0) 1 (a<0) A、x= 0 (a=0) B、x= -1 (a=0) 1 (a>0) 0 (a>0) 0 (a<0) -1 (a<0) C、x= -1 (a=0) D、x= 1 (a=0) 1 (a>0) 0 (a>0) 8. 以下关于do-while循环的不正确描述是______。 A) do-while的循环体至少执行一次 B) do-while的循环体可以是复合语句 C) 在do-while循环体中,一定要有能使while后面表达式的值变为零("假")的操作 D) do-while循环由do开始,用while结束,在while(表达式)后面不能写分号 9. 以下程序执行后sum的值是______。 A) 15 B) 14 C) 不确定 D) 0 main() { int i , sum=0; for(i=1;i<6;i++) sum+=i; printf("%d\n",sum); } 10.若有说明语句:int a[][3]={1,2,3,4,5,6}; 则a数组第一维的大小是。 A. 1 B. 2 C.3 D. 无确定值 11. C语言允许函数值类型的缺省定义,此时该函数值隐含的类型是______。 A、float型 B、long型 C、int型 D、double型 12.下面正确的函数定义形式为 A、double fun(int x;int y) B、double fun(int x,int y); C、double fun(int x,y) D、double fun(int x,int y) 13.以下程序运行后,输出结果是______。 #define ADD(x) x+x 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循环时则相反。 一、填空共219题 第1题题号:422 设有以下结构类型说明和变量定义,则变量a在内存所占字节数是【1】 . Struct stud { char num[6]; int s[4]; double ave; } a,*p; 答案: 1). 22 第2题题号:533 设x和y均为int型变量,则以下for循环中的scanf语句最多可执行的次数是【1】. for (x=0,y=0;y!=123&&x<3;x++) scanf ("%d",&y); 答案: 1). 3 第3题题号:496 静态变量和外部变量的初始化是在【1】阶段完成的,而自动变量的赋值是 在【2】时进行的. 答案: 1). 编译 2). 函数调用 第4题题号:96 已知a=13,b=6, a&b的十进制数值为【1】. 答案: 1). 4 第5题题号:398 程序段int k=10; while(k=0) k=k-1循环体语句执行【1】次. 答案: 1). 0 第6题题号:651 设w=5;w+= -2;则w的值为【1】. 答案: 1). 3 第7题题号:258 下面程序段的输出结果是【1】. int a=12; a=a&0377;pritnf("%d\n",a); 答案: 1). 12 第8题题号:457 设a,b,c,t为整型变量,初值为a=3,b=4,c=5,执行完语句t=!(a+b)+c-1&&b+c/2 后,t的值是【1】. 答案: 1). 1 第9题题号:402 设a取二进制数00101101,若想通过a^b运算使a的高4位取反,低4位不变,则b的 二进制数是【1】. 答案: 1). 11110000 第10题题号:311 若所用变量均已正确定义,则执行下面程序段后的值是【1】. for(i=0 ; i<2 ; i++ ) printf("YES"); printf("\n"); 答案: 1). YESYES 导出题库试题(1~100) 共计104道试题 一、程序填空答案(104题) 【程序填空】 1功能:求两个非负整数的最大公约数和最小公倍数。 【1】r != 0 或r 【2】r=m%n 或r=m-m/n*n 【3】n 【4】gcd,lcm 或n,lcm 2功能:下面的程序是求1!+3!+5!+……+n!的和。 【1】s=0 【2】i+=2 或i=i+2 或i++,i++ 【3】j<=i 或i>=j 或jj 【4】f= f * j 3功能:将一个字符串中下标为m的字符开始的全部字符复制成为另 一个字符串。 【1】p1= str1 + m 【2】*p2++=*p1++ 或*(p2++)=*(p1++) 或*p2=*p1,p2++,p1++ 或*p2=*p1++,p2++ 或*p2++=*p1,p1++ 【3】*p2='\0' 或*p2=0 或*p2=NULL【4】strcopy(str1,str2,m) 4功能:以下程序是用选择法对10个整数按升序排序。 【1】#define N 10 【2】k=I 【3】j 《C语言程序设计》模拟试卷一 一、单项选择题(每题2分,共30分) 1、下列有关C语言的叙述中错误的是()。 A) C语句必须以分号结束 B) 任何一个C程序中有且只有一个主函数 C) 复合语句在语法上可被看作一条语句 D) C程序中对数据的任何操作都可由运算符实现 2、以下不能定义为用户标识符的是()。 A) MAIN B) _HJ C) 2ong D) LINE1 3、下列符号中用来表示C语言中的回车换行的是()。 A) \r B) \n C) \b D) \t 4、如有如下定义:int a=1,则语句printf(“%d,%d”, a, ++a);的运行结果为()。 A) 1, 1 B) 1, 2 C) 2, 2 D) 2, 1 5、已知ch为字符型变量,下面表达式中正确的是()。 A) ch=’\xff ’B) ch=’\ff ’C) ch=’ ff ’D) ch=” ff ” 6、以下能正确定义一维数组的是()。 A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”; C) char a[ ]=”012345”;D) char a[5]={0,1,2,3,4,5}; 7、以下语句中能正确定义变量并赋初值的是()。 A) char c=65; B) float f=f+1.1; C) double x=12.3e3.6; D) int m=n=2.0; 8、在执行下列程序时输入:1357924,则程序的运行结果为()。 main( ) { int x, y; scanf(“%2d%2d”,&x,&y); printf(“%2d”,x*y); } A) 13 B) 1357 C) 74 D) 741 9、执行下列程序段后输出的结果是()。 三、程序填空题 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【3.1】下面程序的功能是不用第三个变量,实现两个数的对调操作。 #include 【3.2】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。 #include C语言题库(填空题部分)
C语言程序设计试题1
C语言程序设计期末考试试题(含答案)
c语言程序填空题1
C语言填空题
C语言程序设计期末练习填空题.docx
2011__C语言上机填空题
C语言程序设计试题第1套(山东建筑大学)
C语言填空题以及答案
大学计算机C语言程序设计(填空题)
c语言程序填空题
C语言程序设计模拟试题1附答案
c语言程序填空题完整