导航菜单
首页 >  c语言考试试卷  > 一套基础的C语言笔试题

一套基础的C语言笔试题

https://blog.csdn.net/tiany524/article/details/6538519

每个5分共100分。错选、多选、少选或不选均不得分。

1.[单选题]一个C程序的执行是从( A )A:本程序的main函数开始,到main函数结束B:本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C:本程序的main函数开始,到本程序文件的最后一个函数结束D:本程序文件的第一个函数开始,到本程序main函数结束

2.[单选题]在C语言中,要求运算数必须是整型的运算符是( D )A:/B:++C:!=D:%

3.[单选题]C语言中,逻辑"真"等价于( C )A:大于零的数B:大于零的整数C:非零的数D:非零的整数

4.[单选题]若希望当A的值为奇数时,表达式的值为"真",A的值为偶数时,表达式的值为"假"。则以下不能满足要求的表达式为( C )A:A%2 == 1B:! (A%2==0)C:! (A%2)D:A%2

5.[单选题]以下程序的运行结果是( B )。int main( void ){int m = 5;if ( m++ > 5) printf("%d/n", m);else printf("%d/n", --m);}A:4B:5C:6D:7

6.[单选题]以下对一维整型数组a的正确说明是( D )A:int a(10)B:int n = 10, a[n]C:int nscanf("%d", &n)int a[n]D:#define SIZE 10int a[SIZE]

 

7.[单选题]若有说明:int a[3][4];则对a数组元素的非法引用是( D )A:a[0][2*1]B:a[1][3]C:a[4-2][0]D:a[0][4]

 

8.[单选题]若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为( A )A:i * m + jB:j * m + iC:i * m + j - 1D:i * m + j + 1

 

9.[单选题]以下程序的功能是将字符串s中所有的字符c删除,那么空白处缺少的语句为:( A )。#include int main(void){char s[80] ;int i, j ;gets(s) ;for ( i = j = 0 ; s [i] != ‘/0' ; i++ )if ( s [i] != ‘c' );s [ j ] = ‘/0' ;puts ( s ) ;return 0 ;}A: s [ j++] = s [ i ]B:s [ ++j ] = s [ i ]C:s [ j ] = s [ i ]; j++D:s [ j ] = s [ i ]

 

10.[单选题]下面程序的功能是将已按升序排好序的两个字符串a和b中的字符,按升序归并到字符串c中,请为程序中的空白处选择适当的语句。 第一空答案(A )#include int main(void){char a[ ] = "acegikm";char b[ ] = "bdfhjlnpq";char c[80], *p;int i = 0, j= 0, k = 0;while( a[i] != '/0' && b[j] != ‘/0' ){if ( a[i] < b[j] ) { ( ① ) }else { ( ② ) }k++;}c[k] = ‘/0';if ( ③ ) p = b + j;else p = a + i;strcat ( c , p );puts ( c );}A:c[k] = a[i]; i++B:c[k] = b[j]; i++C:c[k] = a[i]; j++D:c[k] = a[j]; j++

 

11.[单选题]下面程序的功能是将已按升序排好序的两个字符串a和b中的字符,按升序归并到字符串c中,请为程序中的空白处选择适当的语句。第二空答案( D) #include int main(void){char a[ ] = "acegikm";char b[ ] = "bdfhjlnpq";char c[80], *p;int i = 0, j= 0, k = 0;while( a[i] != '/0' && b[j] != ‘/0' ){if ( a[i] < b[j] ) { ( ① ) }else { ( ② ) }k++;}c[k] = ‘/0';if ( ③ ) p = b + j;else p = a + i;strcat ( c , p );puts ( c );}A:c[k] = a[i]; i++B:c[k] = b[j]; i++C:c[k] = a[i]; j++D:c[k] = b[j]; j++

 

12.[单选题]在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是( D )A:externB:registerC:autoD:static

 

13.[单选题]以下程序的正确运行结果是( D )。#include int f(int a);int main(void){int a = 2, i;for( i = 0; i < 3; i++ ) printf("%4d",f(a));}int f(int a){int b = 0;static int c = 3;b++; c++;return(a+b+c);}A:7 7 7B:7 10 13C:7 9 11D:7 8 9

 

14.[单选题]以下程序的运行结果为( B )。void sub(int x, int y, int *z){ *z = y - x ; }int main(void){int a,b,c ;sub(10, 5, &a) ;sub(7, a, &b) ;sub(a, b, &c) ;printf( "%4d,%4d, %4d/n",a,b,c);}A:5, 2, 3B:-5, -12, -7C:-5, -12, -17D:5, -2, -7

 

15.[单选题]有如下语句int a = 10, b = 20, *p1, *p2; p1 = &a; p2 = &b;变量与指针的关系如图1所示;若要实现图2所示的存储结构,可选用的赋值语句为( 没图 可能是 B或A )A:*p1 = *p2B:p1 = p2C:p1 = *p2D:*p1 = p2

 

16.[单选题]若已建立下面的链表结构,指针p、q分别指向图中所示结点,则不能将q所指的结点插入到链表末尾的一组语句是( )A:q -> next = NULL; p = p -> next; p -> next = qB:p = p -> next; q -> next = p -> next; p -> next = qC:p = p -> next; q -> next = p; p -> next = qD:p = (*p).next; (*q).next = (*p).next; (*p).next = q

 

17.[单选题]以下程序的功能是:读入一行字符(如:a,b,... y,z),按输入时的逆序建立一个

相关推荐: