當前位置:首頁 » 編程語言 » c語言上機題

c語言上機題

發布時間: 2022-05-09 12:22:28

① 全國計算機二級c語言考試上機都考什麼

基本要求:

1.熟悉 Visual C++ 6.0 集成開發環境。

2.掌握結構化程序設計的方法,具有良好的程序設計風格。

3.掌握程序設計中簡單的數據結構和演算法並能閱讀簡單的程序。

4.在 Visual C++ 6.0 集成環境下, 能夠編寫簡單的 C 程序, 並具有基本的糾錯和調試程 序的能力


考試內容:

一、C 語言程序的結構

1.程序的構成,main 函數和其他函數。

2.頭文件,數據說明,函數的開始和結束標志以及程序中的注釋。

3.源程序的書寫格式。

4.C 語言的風格。


二、數據類型及其運算

1.C 的數據類型(基本類型,構造類型,指針類型,無值類型)及其定義方法。

2.C 運算符的種類、運算優先順序和結合性。

3.不同類型數據間的轉換與運算。

4.C 表達式類型(賦值表達式,算術表達式,關系表達式,邏輯表達式,條件表達式,逗號表達式)和求值規則。


三、基本語句

1.表達式語句,空語句,復合語句。

2.輸入輸出函數的調用,正確輸入數據並正確設計輸出格式。


四、選擇結構程序設計

1.用 if 語句實現選擇結構。

2.用 switch 語句實現多分支選擇結構。

3.選擇結構的嵌套。


五、循環結構程序設計

1.for 循環結構。

2.while 和 do-while 循環結構。

3.continue 語句和 break 語句。

4.循環的嵌套。


六、數組的定義和引用

1.一維數組和二維數組的定義、初始化和數組元素的引用。

2.字元串與字元數組。


七、函數

1.庫函數的正確調用。

2.函數的定義方法。

3.函數的類型和返回值。

4.形式參數與實在參數,參數值傳遞。

5.函數的正確調用,嵌套調用,遞歸調用。

6.局部變數和全局變數。

7.變數的存儲類別(自動,靜態,寄存器,外部),變數的作用域和生存期。


八、編譯預處理

1.宏定義和調用(不帶參數的宏,帶參數的宏)。

2.「文件包含」處理。


九、指針

1.地址與指針變數的概念,地址運算符與間址運算符。

2.一維、二維數組和字元串的地址以及指向變數、數組、字元串、函數、結構體的指針 變數的定義。通過指針引用以上各類型數據。

3.用指針作函數參數。

4.返回地址值的函數。

5.指針數組,指向指針的指針。


十、結構體(即「結構」)與共同體(即「聯合」)

1.用 typedef 說明一個新類型。

2.結構體和共用體類型數據的定義和成員的引用。

3.通過結構體構成鏈表,單向鏈表的建立,結點數據的輸出、刪除與插入。


十一、位運算

1.位運算符的含義和使用。

2.簡單的位運算。


十二、文件操作 只要求緩沖文件系統(即高級磁碟 I/O 系統),對非標准緩沖文件系統(即低級磁碟 I/O 系 統)不要求。

1. 文件類型指針(FILE 類型指針)

2.文件的打開與關閉(fopen,fclose)。

3.文件的讀寫(fputc,fgetc,fputs,fgets,fread,fwrite,fprintf,fscanf 函數的應用), 文件的定位(rewind,fseek 函數的應用)。


註:上機:90 分鍾,滿分 100 分

上機操作包括: (1)填空。 (2)改錯。 (3)編程

② 數據結構上機題c語言

#include<stdio.h>

voidMergeArr(inta[],intm,intb[],intn,intc[])
{
inti=0,j=0,k=0;

while(i<m&&j<n)
{
if(a[i]<b[j])
c[k++]=a[i++];
else
c[k++]=b[j++];
}

while(i<m)
c[k++]=a[i++];
while(j<n)
c[k++]=b[j++];
}

intmain()
{
inti;

//用數組表示順序表
intA[4]={2,5,9,10};
intB[6]={1,3,4,7,8,12};
intC[10]={0};

MergeArr(A,4,B,6,C);
for(i=0;i<10;++i)
printf("%d",C[i]);

return0;
}

③ C語言上機題輸入一個整數X,計算1,2,3..,10X之間所有奇數,偶數的和

#include <stdio.h>

int main()

{ int x;

scanf("%d",&x);

printf("s1=%d s2=%d ",25*x*x,25*x*x+5*x);

return 0;

}

④ C語言上機題目:輸入一個字元串,然後按逆序重新存放該字元串.

#include<string.h>

#include<stdio.h>

int main()

{

char a[100];

int i,n,j=0,temp;

gets(a);

n=strlen(a);

for(i=0;i<n/2;i++){

temp=a[i];

a[i]=a[n-1-i];

a[n-1-i]=temp;}

a[n]='';

puts(a);

return 0;

}

(4)c語言上機題擴展閱讀:

數組的使用規則:

1.可以只給部分元素賦初值。當{ }中值的個數少於元素個數時,只給前面部分元素賦值。例如:static int a[10]={0,1,2,3,4};表示只給a[0]~a[4]5個元素賦值,而後5個元素自動賦0值。

2.如不給可初始化的數組賦初值,則全部元素均為0值。

3.如給全部元素賦值,則在數組說明中, 可以不給出數組元素的個數。例如:static int a[5]={1,2,3,4,5};可寫為:static int a[]={1,2,3,4,5};動態賦值可以在程序執行過程中,對數組作動態賦值。這時可用循環語句配合scanf函數逐個對數組元素賦值。

網路-數組

⑤ C語言的初級上機題,閱讀下面的程序並分析其運行結果。

A:不管你輸入什麼數字,結果都是OK!
分析:對if中的條件表達式來看,他的格式是x=1.23,咋一看,好像是判斷輸入的值與1.23比較,但是,你要明白,C中一個=是賦值的意思,而兩個==是判斷的意思,完全是不同的運算符。所以,這個x=1.23就編程了賦值的意思了,可不是判斷哦。那麼,判斷在哪兒呢?這就要給你說了,對於用在判斷或者條件部分的表達式如果不是顯示表達式,那麼首先將這個表達式化簡,就是看他到底是用哪個量來參與運算的了。這兒明顯是x直接參與運算。這時候,系統默認是這個量與0進行比較。如果這個量正好為0,那麼好,算條件不成立,如果是非零值,那麼好,算條件成立,但是這個判斷是虛擬判斷,他可完全又不等價與寫成顯示表達方式的,這個要區別開。即,在條件部分 x 與 x==0,可不是一樣的哦 假設x正好為0,你算一下給你的這兩個表達式做條件時其條件結果各為多少。
2、那這時候,有可能是OK!,有可能就什麼也沒有輸出。

⑥ C語言程序設計 上機題

樓主你好,希望以下答案對你有一定幫助。
樓主在問題補充中也提到了:
注意:要求n的值大於1但不大於100之間。部分源程序在文件PROG1.C中。
在2級C語言考試中,諸如「注意」這樣字眼後面的內容在程序中一般都是有分的。所以這種題如果有對n的范圍有要求,應該寫出對n的范圍作出限制的執行語句。尤其是如果n控制了求值的精確度,則必須寫出n的范圍限制語句,否則程序陷入死循環且不符合題意。例如:
已知PI/4=1-1/3+1/5-1/7+...,用此公式求PI的近似值,直到最後一項的絕對值小於10的-6次方為止。
這道題也要求了對關於n的最後一項的絕對值1/(2n+1)進行范圍限定,即1/(2n+1)要小於10的-6次方。如果程序中不體現出這一點,程序將陷入死循環。所以要限定n的范圍。
while(1/(2n+1)>=1E-6)
{...
}
只有這樣,程序才能正常運行。

⑦ 二級c語言上機題常考題型有什麼

1.填空題2.改錯題3.編程題
第一題填空一般有幾個類型,其中一個是循環類型,比較難做的抽到這個題型,這種題要好練練!大多數都是變數沒有定義,說白了就是填上一個字母n啊i啊i++啥的,還有種鏈表題填個next和data的,這種題練兩天就會摸出點門道!
第二題就是改錯題,這種題非常簡單,甚至不需要看題在c++報錯了給你提示出來少個分號啊,少個括弧啊什麼的,全是些語法錯誤,幾乎白給,建議練個1天!
第三題是編程題了,一般都是編輯2-3句話編一個for循環語句或再嵌套個循環語句,這都算難的了,簡單的就1句就可以了,沒什麼難的,上機很好過的一般都擔心筆試,有時間上機練1個星期,穩過,你想就那麼100套題,考試從那裡隨機抽一套,你都練到了背也背下來了!

⑧ c語言二級考試上機題一共幾道

3道,第一道是填空,一般3個空或者兩個空。第二道是改錯,一般也是兩個到三個錯誤,第三道是編程,不是所有都要你寫,只要你根據題意吧主程序寫出來就可以了,分值分別為30分,30分和40分。你可以買題庫,一共100套,只要你都做完,上機肯定可以通過,因為考試題是從那裡面出的。

⑨ C語言數據結構上機題

#include "stdafx.h"
#include<iostream>
using namespace std;
typedef struct LNode
{
char data;
struct LNode * next;
}LNode,* LinkList;
void CreateList(LinkList &L)//創建鏈表存放26個字母組成的線性表
{
L=(LinkList)malloc(sizeof(LNode));
L->next=NULL;
char c='z';
for(int i=26;i>0;i--)
{
LNode *p;
p=(LinkList)malloc(sizeof(LNode));
p->data=c--;
p->next=L->next;
L->next=p;
}
}
bool ListInsert(LinkList &L,int i,char c)//在第i個位置插入字母c
{
LNode * p=L;int j=0;
while(p&&j<i-1)
{
p=p->next;
++j;
}
if(!p||j>i-1)
return false;
LinkList s=(LinkList)malloc(sizeof(LNode));
s->data=c;
s->next=p->next;
p->next=s;
return true;
}
void main()
{
LinkList L;
CreateList(L);//1.創建鏈表存放26個字母組成的線性表
char c;int i;
cout<<"輸入插入的字母"<<endl;
cin>>c;
cout<<"輸入插入的位置(整數)"<<endl;
cin>>i;
if(ListInsert(L,i,c))//在第i個位置插入字母c
{
while(L->next!=NULL)//將插入後的線性表輸出
{
cout<<L->next->data;
L=L->next;
}
}
}

//辛苦寫完...剛調試通過...加分啊..
調試是在C++環境下調試的,如果你要在C環境下..把
cout<<L->next->data; 改為:
printf("%d",L->next->data);
cin>>c;改為:scanf("%c",c);
就ok了......

ps: o_o一般上機都是C++吧......

熱點內容
茄子快傳的文件夾 發布:2025-05-11 07:04:30 瀏覽:731
手機指紋密碼如何更換 發布:2025-05-11 07:02:22 瀏覽:121
java存儲資料庫 發布:2025-05-11 07:01:33 瀏覽:175
辦理ca的初始密碼是多少 發布:2025-05-11 06:54:55 瀏覽:423
忘記伺服器地址 發布:2025-05-11 06:54:51 瀏覽:241
傳奇qf腳本 發布:2025-05-11 06:35:21 瀏覽:447
我的世界等價交換伺服器地址 發布:2025-05-11 06:34:49 瀏覽:432
ftp傳圖失敗 發布:2025-05-11 06:34:47 瀏覽:856
安卓如何設置抖音自動播放 發布:2025-05-11 06:32:21 瀏覽:671
c交互腳本 發布:2025-05-11 06:19:57 瀏覽:529