自考“C語言程序設計”模擬試題十

字號:

一、單項選擇題(共30分,每題1分)
    1. 下列不正確的轉義字符是( )
    A.\\ B.\‘ C.074 D.\0
    2. 不是C語言提供的合法關鍵字是( )
    A.switch B.cher C.case D.default
    3.正確的標識符是( )
    A.?a B.a=2 C.a.3 D.a_3
    4.下列字符中屬于鍵盤符號的是( )
    A.\ B.\n C.\t D.\b
    5.下列數(shù)據(jù)中屬于“字符串常量”的是( )
    A.ABC B.“ABC” C.‘ABC’ D.‘A’
    6.char型常量在內存中存放的是( )
    A.ASCII碼 B.BCD碼 C.內碼值 D.十進制代碼值
    7.設a為5,執(zhí)行下列語句后,b的值不為2的是( )
    A.b=a/2 B.b=6-(——a) C.b=a%2 D.b=a>3?2:2
    8.在以下一組運算符中,優(yōu)先級的運算符是( )
    A.<= B.= C.% D.&&
    9.設整型變量i的值為3,則計算表達式i——i后表達式的值是()
    A.0 B.1 C. 2 D.表達式出錯
    10.設整型變量a,b,c均為2,表達式a+++b+++c++的結果是( )
    A.6 B.9 C.8 D.表達式出錯
    11.若已定義x和y為double類型,則表達式x=1,y=x+3/2的值是( )
    A.1 B.2 C.2.0 D.2.5
    12.設a=1,b=2,c=3,d=4,則表達式:a    A.4 B.3 C.2 D.1
    13.設a為整型變量,不能正確表達數(shù)學關系:10
    A.10
    C.a>10&&a<15 D.?。╝<=10)&&?。╝>=15)
    14.若有以下定義:char a、 int b 、 float c 、 double d,則表達式a*b+d-c值的類型為()
    A.float B.int C.char D.double
    15.表達式“10!=9”的值是( )
    A.true B.非零值 C.0 D.1
    16.循環(huán)語句 for (x=0,y=0; (y!=123)|| (x<4);x++);的循環(huán)執(zhí)行( )
    A.無限次 B.不確定次 C.4次 D.3次
    17.在C語言中,下列說法中正確的是( )
    A. 不能使用“do while”的循環(huán)
    B.“do while”的循環(huán)必須使用break語句退出循環(huán)
    C.“do while”的循環(huán)中,當條件為非0時將結束循環(huán)
    D.“do while”的循環(huán)中,當條件為0時將結束循環(huán)。
    18.設a,b為字符型變量,執(zhí)行scanf(“a=%c,b=%c”,&a,&b)后使a為‘A’,b為‘B’,從鍵盤上的正確輸入是( )
    A.‘A’ ‘B’ B.‘A’,‘B’ C.A=A,B=B D.a=A,b=B
    19.設i,j,k均為int型變量,執(zhí)行完下面的for循環(huán)后,k的值為( )
    for (i=0,j=10;i<=j;i++,j——)k=i+j;
    A.10 B.9 C.8 D.7
    20.設有定義:char s[12]={“string”};則printf (“%d\n”,strlen(s));的輸出是( )
    A.6 B.7 C.11 D.12
    21.合法的數(shù)組定義是()
    A.int a[]={“string”}; B.int a[5]={0,1,2,3,4,5};
    C.char a={“string”}; D.char a[]={0,1,2,3,4,5}
    22.函數(shù)調用strcat(strcpy(str1,str2),str3)的功能是()
    A. 將字符串str2復制到字符串str1中后再將字符串str3連接到字符串str1之后
    B. 將字符串str1復制到字符串str2中后再連接到字符串str3之后
    C. 將字符串str1復制到字符串str2中后再復制到字符串str3之后
    D. 將字符串str2連接到字符串str1中后再將字符串str1復制到字符串str3中
    23.設有如下定義,則正確的敘述為( )
    char x[]={“abcdefg”};
    char y[]={‘a’,‘b’,‘c’,‘d’,‘e’,‘f’,‘g’};
    A.數(shù)組x和數(shù)組y等價
    B.數(shù)組x和數(shù)組y的長度相同
    C.數(shù)組x的長度大于數(shù)組y的長度
    D.數(shù)組x的長度小于數(shù)組y的長度
    24.設有單精度變量f,其值為13.8.執(zhí)行語句“n=((int)f)%3;”后,n的值是()
    A.4 B.1 C.4.333333 D.4.6
    25.執(zhí)行語句“f=(3.0,4.0,5.0),(2.0,1.0,0.0);”后,單精度變量f的值是( )
    A.3.0 B.5.0 C.2.0 D.0.0
    26.設a、b均為整型變量,下列表達式中不是賦值表達式的是( )
    A.a=3,4,5 B.a=3*2 C.a=a&&b D.a=b=4
    27.表達式“1?(0?3:2): (10?1:0)”的值為( )
    A.3 B.2 C.1 D.0
    28.sizeof(double)的結果值是( )
    A.8 B.4 C.2 D.出錯
    29.指出下面正確的輸入語句是( )
    A.scanf (“a=b=%d”,&a,&b); B.scanf(“a=%d,b=%f”,&m,&f);
    C.scanf(“%3c”,c); D.scanf(“%5.2f,&f);
    30.若有以下定義和語句,且0<=i<5,則( )是對數(shù)組元素地址的正確表示
    int a[]={1,2,3,4,5},*p,i;
    p=a;
    A.&(a+i) B.&p C.a++ D.&p[i]
    二、填空(20分,每空1分)
    1.在內存中存儲“A”要占用( )個字節(jié),存儲‘A’要占用( )字節(jié)。
    2.符號常量的定義方法是( )。
    3.能表述“20    4.結構化程序設計方法規(guī)定程序或程序段的結構有三種:順序結構、( )和( )。
    5.C語言共提供了三種用于實現(xiàn)循環(huán)結構的流程控制語句,它們是( )、( )和( )。
    6.若在程序中用到“putchar”,應在程序開頭寫上包含命令( ),若在程序中用到“strlen()”函數(shù)時,應在程序開頭寫上包含命令( )。
    7.設有定義語句“static int a[3][4]={{1},{2},{3}}”,則a[1][1]值為( ),a[2][1]的值為( )。
    8.“*”稱為( )運算符,“&”稱為( )運算符。
    9.賦值表達式和賦值語句的區(qū)別在于有無( )號。
    10.用{}把一些語句括起來稱為( )語句
    11.設a=12、b=24、c=36,對于“scanf (”a=%d,b=%d,c=%d“,&a,&b,&c);”,輸入形式應為( )
    12.表達式“sqrt(s*(s-a)*(s-b)*(s-c));”對應的數(shù)學式子為( )
    13.C語言編繹系統(tǒng)在判斷一個量是否為“真”時,以0代表“假”,以( )代表“真”
    三、讀程序(30分)
    1. main()
    { int a=10,b=4,c=3;
    if (a    if (a    printf(“%d,%d,%d”,a,b,c);}
    2. main( )
    {int y=9;
    for (;y>0;y——)
    if (y%3= = 0) {printf (“%d”,——y);continue;}
    3. main()
    { int x,y;
    for (y=1,x=1;y<=50;y++)
    { if (x>=10) break;
    if (x%2= =1) { x+=5;continue;}
    x-=3; }
    printf (“%d”,y);}
    4. main()
    { static int a[][3]={9,7,5,3,1,2,4,6,8};
    int i,j,s1=0,s2=0; i,j,s1=0,s2=0;
    for (i=0;i<3;i++)
    for (j=0;j<3;j++)
    { if (i= =j )s1=s1+a[i][j];
    if (i+j= =2) s2=s2+a[i][j];
    }
    printf (“%d\n%d\n”,s1,s2);}
    5. main()
    {static char a[]={‘*’,‘*’,‘*’,‘*’,‘*’};
    int i,j,k;
    for (i=0;i<5;i++)
    {printf (“\n”);
    for (j=0;j    for (k=0;k<5;k++) printf (“%c”,a[k]); } }
    6. int fac(int n)
    {static int f=1;
    f=f*n; return(f);}
    main()
    {int i;
    for (i=1;i<=5;i++)
    printf (“%d!=%d\n”,i,fac(i));}
    四、編寫程序(20分)
    1. 編一個程序,輸入X的值,按下列公式計算并輸出Y的值
    2. 編程序按下列公式計算e的值(精度為1e-6)
    e=1+1/1!+1/2!+1/3!+……1/n!