最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

2012大连理工大学C语言期末模拟试题3

来源:动视网 责编:小OO 时间:2025-09-30 22:12:54
文档

2012大连理工大学C语言期末模拟试题3

单选1、若变量均已正确定义并赋值,以下合法的C语言赋值语句是(C)。A、x+n=I;B、x==5;C、x=n/2.5;D、5=x=4+1;2、下述错误的C语言常量是:(C).A、0xfB、5.C、090D、.253、根据下面的程序,使a=123,c1='o',c2='k'哪一种是正确的键盘输入方法?(B)。(规定用字符串[CR]表示回车,U表示空格)main(){inta;charc1,c2;scanf("%d%c%c",&a,&c1,&c2);}A、123UoUk[CR]B、123ok[CR
推荐度:
导读单选1、若变量均已正确定义并赋值,以下合法的C语言赋值语句是(C)。A、x+n=I;B、x==5;C、x=n/2.5;D、5=x=4+1;2、下述错误的C语言常量是:(C).A、0xfB、5.C、090D、.253、根据下面的程序,使a=123,c1='o',c2='k'哪一种是正确的键盘输入方法?(B)。(规定用字符串[CR]表示回车,U表示空格)main(){inta;charc1,c2;scanf("%d%c%c",&a,&c1,&c2);}A、123UoUk[CR]B、123ok[CR
单选

1、若变量均已正确定义并赋值,以下合法的C语言赋值语句是(C)。

A、x+n=I;

B、x==5;

C、x=n/2.5;

D、5=x=4+1;

2、下述错误的C语言常量是:(C).

A、0xf

B、5.

C、090

D、.25

3、根据下面的程序,使a=123,c1='o',c2='k'哪一种是正确的键盘输入方法?(B)。

(规定用字符串[CR]表示回车,U表示空格)

main()

{int a;

 char c1,c2;  

 scanf("%d%c%c", &a,&c1,&c2);

}

A、123UoUk[CR]

B、123ok[CR]

C、123Uok[CR]

D、123oUk[CR]

4、已知键入a=4,b=3,执行下面程序输出的结果是(B).

main()

{ int a,b,s;

  scanf("%d%d",&a,&b);

  s=a;

if(a>b) s=b;

  s=s*s;

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

}

A、13

B、9

C、16

D、15

5、执行下面程序段后,i的值是(A).

int i=10;

switch(i)

{case 9: i+=1;

 case 10: i--;

 case 11: i*=3;

 case 12: ++i;

}

A、28

B、10

C、9

D、27

6、以下不是无限循环的语句为(D)。

A、while(1){x++;}

B、for(;;x++=i);

C、for(i=10;;i--) sum+=i;

D、for(y=0,x=1;x>++y;x=i++) i=x;

7、下面程序段运行的结果是(A).

x=-1;

do{

   x=x*x;

   }while (!x);

A、循环执行一次

B、有语法错误

C、死循环

D、循环执行两次

8、若有说明:int a[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是(A)。

A、3

B、无确定值

C、4

D、2

9、若定义int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};char c='a',d,g;

则数值为4的表达式是 (D).

A、a[4]

B、a[g-c]

C、a['d'-'c']

D、a['d'-c]

10、

以下叙述中正确的是(C)。

A、可以在一个函数中定义另一个函数

B、main()函数必须放在其它函数之前

C、构成C程序的基本单位是函数

D、所有被调用的函数一定要在调用之前进行定义

11、下述函数的功能是(C).

int fun(char *x)

{ char  *y=x;

  while(*y++);

  return y-x-1;

 }

A、比较两个字符串的大小

B、求字符串存放位置

C、求字符串的长度

D、将字符串x连接到字符串y后面

12、在执行"文件包含"命令时,下列说法正确的是(A).

A、作为一个源程序编译,得到一个目标文件.

B、一个 include 命令可指定多个被包含文件.

C、在编译时作为两个文件联结.

D、被包含的文件可以是源文件或目标文件.

13、在说明语句:int *f();中,标识符f代表的是(A)。

A、一个返回值为指针型的函数名

B、一个用于指向函数的指针变量

C、一个用于指向一维数组的行指针

D、一个用于指向整型数据的指针变量

14、下面程序的输出结果应该是(B ).

 char s[ ]="ABCD";

  main()

   {char *p;

for ( p=s;p    printf("%s",p);

    }

A、DCBA

B、ABCDBCDCDD

C、ABCDABCABA

D、ABCD

15、设有如下定义: struct sk {int a;  float  b;} data,*p; 

若要使p指向data中的a域,正确的赋值语句是(C)。

A、p=(struct sk*) data.a;

B、*p=data.a;

C、p=&data.a;

D、p=&data,a;

判断

1、在C程序中,%作为运算符时,是只能用于整数运算。T

2、若 a=3,b=2,c=1 则关系表达式"(a>b)==c" 的值为"真"。T

3、格式字符%g选用%e或%f格式中输出宽度较长的一种格式输出实数.F

4、整型变量在全部范围内可以用字符格式输出.F

5、已知a=3,b=4,c=5,则逻辑表达式!(a+b)+c-1 && b+c/2的值为0.F

6、语句if(a>b) printf("%d",a); else printf("%d",b);可以用条件表达式a>b?a:b取代.F

7、已知a=4,b=2,c=3,d=5,表达式a>b?a:c8、for循环的三个表达式都可以省略.T

9、continue语句对于while和do-while循环来说,意味着转去计算While表达式.T

10、for语句的循环体至少执行一次.F

11、语句 char ch[12]={"C Program"};与语句 char ch[ ]="C Program";具有不同的赋初值功能.T

12、定义char s[9];gets(s);若输入的字符串是Turbo c↙(↙代表按回车键操作) 则输入给数组s中的字符个数是7.T

13、对静态数组的初始化是在编译阶段完成的.  T

14、C语言中,通过函数调用只能获得一个返回值.F

15、字符处理函数strcpy(str1,str2)的功能是把字符串1接到字符串2的后面.F

16、函数的返回值可以通过函数中的return语句获得。T

17、被包含文件是在编译时先单独生成目标文件,然后连接到可执行文件中去.F

18、char *p="girl";的含义是定义字符型指针变量p,p的值是字符串"girl"。F

19、对于不同类型的数据,若想合成一个有机的整体,可以引用结构体进行定义。T

20、用fopen("file打开的文件"file"可以进行修改。T

填空

1、设x的值为15,n的值为2,则表达式x%=(n+=3)运算后x的值是_____. 0

2、以下程序的输出结果为_____, #include "stdio.h" main(){int a=010,j=10;printf("%d,%d\\n",++a,j--);}   9,10

3、设a,b,c,t为整型变量,初值为a=3,b=4,c=5,执行完语句t=!(a+b)+c-1&&b+c/2 后,t的值是_____. 1

4、若输入字符串:abcde<回车>,则以下while循环体将执行 _____次. 0 while((ch=getchar())=='e') printf("*");

5、若有以下数组a,数组元素:a[0]~a[9],其值为  9  4  12  8  2  10  7  5  1  3 该数组的元素中,数值最小的元素的下标值是_____. 8

6、函数不可以进行嵌套定义,但可以进行嵌套_____. 调用

7、在c程序中,只能给指针变量赋NULL值和_____值.  地址

8、设有以下共用体类型说明和变量定义,则变量a在内存所占字节数是 _____。 union stud { char num[6];   float s[4];   double ave; } a,*p;    16

程序设计

1、

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

【程序设计】

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

功能:将字符串中的小写字母转换为对应的大写字母,

      其它字符不变。

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

#include "string.h"

#include "stdio.h"

void change(char str[])

{

  /*********Begin**********/

  

int i;

   for(i=0;str[i]!='\\0';i++)

if(str[i]>='a' && str[i]<='z')

         str[i]=str[i]-32;

  

  /**********  End  **********/

}

main()

{

  void change();

  char str[40];

  void TestFunc();

  gets(str);

  change(str);

  puts(str);

  TestFunc();

  

}

void TestFunc()

{

  FILE *IN,*OUT;

  char i[200];

  IN=fopen("in.dat

  if(IN==NULL)

  {

    printf("Read File Error");

  }

  OUT=fopen("out.dat

  if(OUT==NULL)

  {

    printf("Write File Error");

  }

  fscanf(IN,"%s",i);

  change(i);

  fprintf(OUT,"%s\\n",i);

  fclose(IN);

  fclose(OUT);

}

2、

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

【程序设计】

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

功能:从低位开始取出长整型变量s中偶数位上的数,依次

      构成一个新数放在t中。     

例如:当s中的数为:7654321时,t中的数为:2。

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

#include "stdio.h"

long fun (long s,long t)

{

  /*********Begin**********/

  

long sl=10;

s /= 10;

t = s % 10;

while(s > 0)

{ s = s/100;     

    t = s%10*sl + t;

    sl = sl * 10;

}

  

  /**********  End  **********/

return t;

}  

main()     

{

  long s, t,m;

  void TestFunc();

  printf("\\nPlease enter s:"); scanf("%ld", &s);     

  m=fun(s,t);

  printf("The result is: %ld\\n", m);

  TestFunc();

}

void TestFunc()

{

  FILE *IN,*OUT;

  int n;

  long i,t,m;

  IN=fopen("in.dat

  if(IN==NULL)

  {

    printf("Read File Error");

  }

  OUT=fopen("out.dat

  if(OUT==NULL)

  {

    printf("Write File Error");

  }

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

  {   

    fscanf(IN,"%ld",&i);

    m=fun(i,t);

    fprintf(OUT,"%ld\\n",m);

    

  }

  fclose(IN);

  fclose(OUT);

}

程序改错

1、

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

【程序改错】

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

功能:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,

      还不过瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉

      一半,又多吃了一个。以后每天早上都吃了前一天剩下的一

      半零一个。到第10天早上想再吃时,见只剩下一个桃子了。

      求第一天共摘了多少。

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

#include "stdio.h"

main()

{

  int day,x1,x2;

  day=9;

  /**********ERROR**********/

  x2==1;     // x2=1;

while(day>0)

  {

    /**********ERROR**********/

    x1=(x2+1)/2;   // x1=(x2+1)*2;

    x2=x1;

    /**********ERROR**********/

    day++;   //day--; day-=1; day=day-1;

  }

  printf("the total is %d\\n",x1);

}

2、

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

【程序改错】

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

功能:将s所指字符串的反序和正序进行连接形成一个新串放在

      t所指的数组中。

例如:当s所指的字符串的内容为"ABCD"时,t所指数组中

      的内容为"DCBAABCD"。

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

#include  "conio.h"

#include  "stdio.h"

#include  "string.h"

/**********ERROR**********/

void fun (char  s, char  t) // void fun (char s[],char t[])   void fun (char *s,char *t)

                                 // void fun (char *s,char t[])    void fun (char s[],char *t)

{

  int   i, d;

  /**********ERROR**********/

  d = len(s);     // d = strlen(s);

  /**********ERROR**********/

for (i = 1; ii; i++)

// for (i = 0; i<=d-1; i++) for (i = 0; d-1>=i; i++)

     t[i] = s[d - 1 - i ];

for (i = 0; i     t[ d + i ] = s[i];

  /**********ERROR**********/

  t[2*d] = '/0';   // t[2*d] = '\\0'; t[2*d] = NULL; t[2*d] = 0;

// t[i+d] = '\\0'; t[i+d] = NULL; t[i+d] = 0; 

}

main()

{

  char   s[100], t[100];

  

  printf("\\nPlease enter string S:"); 

  scanf("%s", s);

  fun(s, t);

  printf("\\nThe result is: %s\\n", t);

}

程序填空

1、

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

【程序填空】

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

题目:从键盘上输入10个整数,输入负数不算。

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

#include "stdio.h"

main()

{

   int i=0,a;

   do

   {

     scanf("%d",&a);

     /***********FILL***********/

     if (_____) i++;   // a>=0

     printf("\\na=%d,i=%d",a,i);

   }

   /***********FILL***********/

   while(_____);   // i<10 i<=9

}

2、

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

【程序填空】

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

功能:通过函数的递归调用计算阶乘。

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

#include "stdio.h"

long power(int n)

{

  long f;

if(n>1)

    /***********FILL***********/

    f=_____;    // power(n-1)*n  power(n-1)*n  n*power(n-1)

  else  

     f=1;

  return(f);

}

main()

{

  int n;

  long y;

  printf("input a inteager number:\\n");

  /***********FILL***********/

  scanf("%d",_____);    // &n

  y=power(n);

  /***********FILL***********/

  printf("%d!=%ld\\n",n,_____);  //y  power(n)

}

文档

2012大连理工大学C语言期末模拟试题3

单选1、若变量均已正确定义并赋值,以下合法的C语言赋值语句是(C)。A、x+n=I;B、x==5;C、x=n/2.5;D、5=x=4+1;2、下述错误的C语言常量是:(C).A、0xfB、5.C、090D、.253、根据下面的程序,使a=123,c1='o',c2='k'哪一种是正确的键盘输入方法?(B)。(规定用字符串[CR]表示回车,U表示空格)main(){inta;charc1,c2;scanf("%d%c%c",&a,&c1,&c2);}A、123UoUk[CR]B、123ok[CR
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top